System and method for performing wavelet and inverse wavelet transformations of digital data using semi-orthogonal wavelets

ABSTRACT

A wavelet transform system and an inverse wavelet transform system are disclosed that respectively implement a wavelet transform and an inverse wavelet transform. Semi-orthogonal standard wavelets are used as the basic wavelets in the wavelet transform and the inverse wavelet transform. As a result, two finite sequences of decomposition coefficients are used for decomposition in the wavelet transform. Furthermore, two finite sequences of reconstruction coefficients that are derived from the two finite sequences of decomposition coefficients are used for reconstruction in the inverse wavelet transform. The finite sequences of decomposition and reconstruction coefficients are not infinite sequences of coefficients that have been truncated. Furthermore, in one embodiment, downsampling is not used in the wavelet transform and upsampling is not used in the inverse wavelet transform.

This is a continuation-in-part of U.S. patent application Ser. No. 08/921,141, filed Aug. 29, 1997.

The present invention relates generally to systems and methods for processing digital data. In particular, it pertains to a system and method for performing wavelet and inverse wavelet transformations of digital data using semi-orthogonal wavelets.

BACKGROUND OF THE INVENTION

The use of IWTs (integral wavelet transforms) and inverse IWTs is well established in MRA (multi-resolution analysis) processing of 1-D (one dimensional) digital data, such as audio signals, and/or 2-D (two dimensional) digital data, such as image data. A special feature of IWTs and inverse IWTs is that they provide narrow windowing of short duration high frequency data while also providing wide windowing of long duration low frequency data. This is generally described in Chui, C. K., “An Introduction to Wavelets”, Academic Press, Boston, Mass., 1992, which is hereby incorporated by reference. The following discussion provides examples of how IWTs and inverse IWTs have been implemented in the past.

Wavelet Transform System Using Dual Wavelets {{tilde over (ψ)}_(m,k) _(m) (x)} as Basic Wavelets

FIG. 1 shows a 1-D wavelet transform system 100, which is an improved version of the wavelet transform system shown in “An Introduction to Wavelets.” This system 100 incorporates some aspects of the present invention, but first we will first explain the conventional aspects of this system. The wavelet transform system 100 implements a 1-D IWT that, for each resolution level m at which a decomposition is made, uses dual wavelets {{tilde over (ψ)}_(m,k) _(m) (x)} to corresponding standard wavelets {ψ_(m,k) _(m) (x)} as the basic wavelets in the 1-D IWT and uses dual scaling functions {{tilde over (φ)}_(m,k) _(m) (x)} to corresponding standard scaling functions {φ_(m,k) _(m) (x)} as the basic scaling functions in the 1-D IWT. Each standard wavelet ψ_(m,k) _(m) (x) and standard scaling function φ_(m,k) _(m) (x) is given by:

ψ_(m,k) _(m) (x)=2^(m/2)ψ(2^(m) x−k _(m))

φ_(m,k) _(m) (x)=2^(m/2)φ(2^(m) x−k _(m))  (1)

where k_(m) is a corresponding index for the resolution level m and the normalization factor 2^(m/2) will be suppressed hereafter for computational efficiency.

In performing the 1-D IWT, the wavelet transform system 100 decomposes a 1-D set of original data samples f_(M) at an original resolution level m=M into a 1-D set of standard scaling function coefficients c_(N) in an L (low) frequency band at the resolution level m=N and 1-D sets of standard wavelet coefficients d_(M−1) to d_(N) in H (high) frequency bands at respectively the resolution levels m=M−1 to N.

The set of original data samples f_(M)={f_(M,n)}=f_(M)(2^(−M)n) is given by a 1-D function f_(M)(x), where x=2^(−M)n. The 1-D function f_(M)(x) approximates another 1-D function f(x) at the original resolution level M. The set of original data samples f_(M) extends in one spatial dimension, namely the x direction, and is first pre-processed by a pre-decomposition filter 102 of the 1-D wavelet transform system 100. The pre-decomposition filter has a transfer function φ(z)⁻¹ for mapping (i.e., converts) the 1-D set of original data samples f_(M) into a 1-D set of standard scaling function coefficients c_(M) in an L frequency band at the original resolution level M.

The transfer function φ(z)⁻¹ is obtained from the following relationship at the resolution level m between a 1-D function f_(m)(x), the standard scaling functions {φ_(m,k) _(m) (x)} and the set of standard scaling function coefficients c_(m)={c_(m,k) _(m) }: $\begin{matrix} {{f_{m}(x)} = {\sum\limits_{k_{m}}{c_{m,k_{m}}{\varphi_{m,k_{m}}(x)}}}} & (2) \end{matrix}$

where the 1-D function f_(m)(x) approximates the function f(x) at the resolution level m. The transfer function φ(z)⁻¹ is the inverse of a transfer function φ(z). The transfer function φ(z) is a polynomial that has the sequence of mapping coefficients {φ_(n)}={φ_(0,0)(n)} as its coefficients while the transfer function φ(z)⁻¹ is a rational function that has a corresponding sequence of mapping coefficients {⊖_(n)} as its poles. Thus, the pre-decomposition filter 102 comprises a 1-D IIR (infinite impulse response) filter that applies the sequence of mapping coefficients {⊖_(n)} to the set of original data samples f_(M)={f_(M,n)} to generate the set of standard scaling function coefficients c_(M)={c_(M,k) _(M) }.

Then, the decomposition filter 104 of the 1-D wavelet transform system 100 decomposes the set of standard scaling function coefficients c_(M) into the sets of standard scaling function and wavelet coefficients c_(N) and d_(M−1) to d_(N). To do this, in the present invention the decomposition filter 104 has a corresponding decomposition filter stage 106 for each resolution level m=M to N+1 at which a decomposition is made. The decomposition filter stage 106 for each resolution level m decomposes a 1-D set of standard scaling function coefficients c_(m) in an L frequency band at the higher resolution level m into a 1-D set of standard scaling function coefficients c_(m−1) in an L frequency band and a 1-D set of wavelet coefficients d_(m−1) in an H frequency band at the next lower resolution level m−1.

This is done by the decomposition filter stage 106 according to the function f_(m)(x) given in Eq. (2). Here, for each resolution level m, the function f_(m)(x) further provides the following relationship between the set of standard scaling function coefficients c_(m) at each resolution level m and the sets of standard scaling function and wavelet coefficients c_(m−1)={c_(m−1,k) _(m−1) } and d_(m−1)={d_(m−1,k) _(m−1) } at the next lower resolution level m−1: $\begin{matrix} \begin{matrix} {{\sum\limits_{k_{m}}{c_{m,k_{m}}{\varphi_{m,k_{m}}(x)}}} = \quad {{\sum\limits_{k_{m - 1}}{d_{{m - 1},k_{m - 1}}{\psi_{{m - 1},k_{m - 1}}(x)}}} +}} \\ {\quad {c_{{m - 1},k_{m - 1}}{{\varphi_{{m - 1},k_{m - 1}}(x)}.}}} \end{matrix} & (3) \end{matrix}$

In Eq. (3), the set of standard scaling function coefficients {c_(m−1,k) _(m−1) } has the indexes {k_(m−1)}={(k_(m)−1)/2} for odd indexes {k_(m)} and the set of standard wavelet coefficients {d_(m−1,k) _(m−1) } has the indexes {k_(m−1)}={k_(m)/2} for even indexes {k_(m)}.

Furthermore, there exists two 1-D sequence of decomposition coefficients {a_(n)} and {b_(n)} such that each standard scaling function φ_(m,k) _(m) (x) at a higher resolution level m is related to and can be decomposed into the standard wavelets and scaling functions {ψ_(m,k) _(m) (x)} and {φ_(m,k) _(m) (x)} at the next lower resolution level m−1. This decomposition relation is given as follows: $\begin{matrix} \begin{matrix} {{\varphi_{m,k_{m}}(x)} = \quad {{\sum\limits_{k_{m - 1}}{a_{k_{m} - {2k_{m - 1}}}{\varphi_{{m - 1},k_{m - 1}}(x)}}} +}} \\ {\quad {b_{k_{m} - {2k_{m - 1}}}{{\psi_{{m - 1},k_{m - 1}}(x)}.}}} \end{matrix} & (4) \end{matrix}$

In view of Eqs. (3) and (4), the sets of standard scaling function and wavelet coefficients {c_(m−1,k) _(m−1) } and {d_(m−1,k) _(m−1) } at the resolution level m−1 are obtained according to the decomposition sequences: $\begin{matrix} \begin{matrix} {c_{{m - 1},k_{m - 1}} = {\sum\limits_{k_{m}}{a_{k_{m} - {2k_{m - 1}}}c_{m,k_{m}}}}} \\ {d_{{m - 1},k_{m - 1}} = {\sum\limits_{k_{m}}{b_{k_{m} - {2k_{m - 1}}}{c_{m,k_{m}}.}}}} \end{matrix} & (5) \end{matrix}$

It must be noted here that the dual wavelets {{tilde over (ψ)}_(m,k) _(m) (x)} and the dual scaling functions {{tilde over (φ)}_(m,k) _(m) (x)} are used respectively as the basic wavelets and scaling functions in the 1-D IWT since the 1-D IWT is defined by: $\begin{matrix} \begin{matrix} {c_{m,k_{m}} = {\int_{- \infty}^{\infty}\quad {{f(x)}{{\overset{\sim}{\varphi}}_{m,k_{m}}(x)}{x}}}} \\ {d_{m,k_{m}} = {\int_{- \infty}^{\infty}\quad {{f(x)}{{\overset{\sim}{\psi}}_{m,k_{m}}(x)}{{x}.}}}} \end{matrix} & (6) \end{matrix}$

Thus, the transfer functions A(z) and B(z) of the decomposition filter stage 106 are polynomials that respectively have the sets of decomposition coefficients {a_(n)} and {b_(n)} as their coefficients.

As is well known, when the standard wavelets {ψ_(m,k) _(m) (x)} are s.o. wavelets, the dual wavelets {{tilde over (ψ)}_(m,k) _(m) (x)} are also s.o. wavelets. In this case, the sequences of decomposition coefficients {a_(n)} and {b_(n)} are infinite. This is described in detail for a subset of s.o. wavelets known as spline wavelets in “An introduction to Wavelets” and in Chui, C. K. et al., “Spline-Wavelet Signal Analyzers and Method for Processing Signals”, U.S. Pat. No. 5,262,958, issued Nov. 16, 1993, which is hereby incorporated by reference.

Referring to FIG. 2, when the standard wavelets {ψ_(m,k) _(m) (x)} are s.o. wavelets, the sequences of coefficients may be truncated {a_(n)} and {b_(n)} in order to use FIR (finite impulse response) filters 108 and 110 in the decomposition filter stage 106 for each resolution level m, as described in U.S. Pat. No. 5,262,958. The filters 108 and 110 respectively perform the transfer functions A(z) and B(z) on the set of standard scaling function coefficients c_(m) at the resolution level m. This is done by applying the sequences of decomposition coefficients {a_(n)} and {b_(n)} to the set of standard scaling function coefficients c_(m)={c_(m,k) _(m) } to respectively generate sets of intermediate coefficients {c_(m−1,k) _(m) } and {d_(m−1,k) _(m) }. The sets of intermediate coefficients {c_(m−1,k) _(m) } and {d_(m−1,k) _(m) } are then downsampled by the downsamplers 112 of the decomposition filter stage 106 to respectively generate the sets of standard scaling function and wavelet coefficients c_(m−1)={c_(m−1,k) _(m−1) } and d_(m−1)={d_(m−1,k) _(m−1) } at the resolution level m−1.

Inverse Wavelet Transform System Using Standard Wavelets {ψ_(m,k) _(m) (x)} as Basic Wavelets

Conversely, FIG. 3 shows an inverse wavelet transform system 120 corresponding to the system shown in FIG. 1. The wavelet transform system 120 implements a corresponding 1-D inverse IWT to the 1-D IWT just described. Thus, the standard scaling functions and wavelets {φ_(m,k) _(m) (x)} and {ψ_(m,k) _(m) (x)} are used as the basic scaling functions and wavelets in the 1-D inverse IWT to reconstruct the 1-D sets of standard scaling function and wavelet coefficients c_(N) and d_(M−1) to d_(N) into a 1-D set of reconstructed data samples f_(M).

In order to do so, the reconstruction filter 122 of the inverse wavelet transform system 120 first reconstructs the 1-D set of standard scaling function and wavelet coefficients c_(N) and d_(M−1) to d_(N) into the 1-D set of standard scaling function coefficients c_(M). In particular, for each resolution level m=N to M−1 at which a reconstruction is made, the reconstruction filter 122 has a corresponding reconstruction filter stage 124 that reconstructs the sets of standard scaling function and wavelet coefficients c_(m) and d_(m) in the L and H frequency bands at the lower resolution level m into the set of standard scaling function coefficients c_(m+1) in the L frequency band at the next higher resolution level m+1.

This is done by the reconstruction filter stage 124 for each resolution level m with two 1-D sequences of reconstruction coefficients {p_(n)} and {q_(n)}. Here, in one two-scale relation, each standard scaling function φ_(m,k) _(m) (x) at a lower resolution level m is related to and can be reconstructed into the standard scaling functions {φ_(m+1,k) _(m+1) (x)} at the next higher resolution level m+1 with the sequence of reconstruction coefficients {p_(n)}. Similarly, in another two-scale relation, each standard wavelet ψ_(m,k) _(m) (x) at a lower resolution level m is related to and can be reconstructed into the standard scaling functions {φ_(m+1,k) _(m+1) (x)} at the next higher resolution level m+1 with the sequence of reconstruction coefficients {q_(n)}. These two-scale relations are given by: $\begin{matrix} \begin{matrix} {{\varphi_{m,k_{m}}(x)} = {\sum\limits_{k_{m + 1}}{p_{k_{m + 1}}{\varphi_{{m + 1},{{2k_{m}} + k_{m + 1}}}(x)}}}} \\ {{\psi_{m,k_{m}}(x)} = {\sum\limits_{k_{m + 1}}{q_{k_{m + 1}}{{\varphi_{{m + 1},{{2k_{m}} + k_{m + 1}}}(x)}.}}}} \end{matrix} & (7) \end{matrix}$

From Eqs. (3) and (7), each scaling function coefficient c_(m+1,k) _(m+1) is obtained according to the reconstruction sequence: $\begin{matrix} {c_{{m + 1},k_{m + 1}} = {\sum\limits_{k_{m}}{\left( {{p_{k_{m + 1} - {2k_{m}}}c_{m,k_{m}}} + {q_{k_{m + 1} - {2k_{m}}}d_{m,k_{m}}}} \right).}}} & (8) \end{matrix}$

By combining Eqs. (3) and (8), it can be seen that the standard scaling functions and wavelets {φ_(m,k) _(m) (x)} and {ψ_(m,k) _(m) (x)} are used as the basic scaling functions and wavelets in the 1-D inverse IWT.

As described in “An Introduction to Wavelets” and U.S. Pat. No. 5,262,958, the sequences of reconstruction coefficients {p_(n)} and {q_(n)} are finite when the standard wavelets {ψ_(m,k) _(m) (x)} are the basic wavelets in the 1-D inverse IWT and are spline wavelets. Similar to the corresponding 1-D IWT, this is also true for the more general case where the standard wavelets {ψ_(m,k) _(m) (x)} are s.o. wavelets.

Therefore, in the case where semi-orthogonal standard wavelets {ψ_(m,k) _(m) (x)} are used in the 1-D inverse IWT, each reconstruction filter stage 124 has transfer functions P(z) and Q(z). These transfer functions P(z) and Q(z) are polynomials that respectively have the sets of decomposition coefficients {p_(n)} and {q_(n)} as their coefficients.

Referring to FIG. 4, in order to perform the transfer functions P(z) and Q(z), the reconstruction filter stage 124 at each resolution level m has upsamplers 126. The upsamplers 126 respectively upsample the sets of scaling function and wavelet coefficients c_(m)={c_(m,k) _(m) } and d_(m)={d_(m,k) _(m) } at the resolution level m to respectively generate the sets of intermediate coefficients {c_(m,k) _(m+1) } and {d_(m,k) _(m+1) }.

The reconstruction filter stage 124 at each resolution level m also includes FIR filters 130 and 132. The filters 130 and 132 respectively perform the transfer functions P(z) and Q(z) by applying the sequences of decomposition coefficients {p_(n)} and {q_(n)} respectively to the sets of intermediate coefficients {c_(m,k) _(m+1) } and {d_(m,k) _(m+1) } to respectively generate the sets of intermediate coefficients {y_(m+1,k) _(m+1) } and {z_(m+1,k) _(m+1) }. The sets of intermediate coefficients {y_(m+1,k) _(m+1) } and {z_(m+1,k) _(m+1) } are then component-wise summed (i.e., each intermediate coefficient y_(m+1,k) _(m+1) is summed with the corresponding intermediate coefficient z_(m+1,k) _(m+1) ) by the summing stage 134 to generate the set of standard scaling function coefficients c_(m+1)={c_(m+1,k) _(m+1) } at the resolution level m+1.

Referring back to FIG. 3, the post-reconstruction filter 136 of the inverse wavelet transform system 120 then maps the set of standard scaling function coefficients c_(M) into the set of reconstructed data samples f_(M) in accordance with Eq. (2). The post-reconstruction filter 136 comprises an FIR filter and has a transfer function φ(z) that is the inverse of the transfer function φ(z)⁻¹ of the pre-decomposition filter 102. Thus, the sequence of coefficients {φ_(n)} are applied to the set of standard scaling function coefficients c_(M) to generate the set of reconstructed data samples f_(M).

Wavelet Transform System Using S.O. Standard Wavelets {ψ_(m,k) _(m) (x)} as Basic Wavelets

FIG. 5 shows a 1-D wavelet transform system 140 in which standard scaling function {φ_(m,k) _(m) (x)} and s.o. standard wavelets {104 _(m,k) _(m) (x)} are used as the basic scaling functions and wavelets in the 1-D IWT. As will be explained shortly, this is done in order to take advantage of the fact that the finite sequences of coefficients {p_(n)} and {q_(n)} are used as the sequences of decomposition coefficients in this 1-D IWT instead of the infinite sequences of coefficients {a_(n)} and {b_(n)}. This concept is described in Chui, C. K. et al., U.S. Pat. No. 5,600,373, entitled “Method and Apparatus for Video Image Compression and Decompression Using Boundary-Spline-Wavelets”, issued Feb. 4, 1997, which is hereby incorporated by reference, for the specific case where the standard wavelets {ψ_(m,k) _(m) (x)} are boundary spline wavelets in a 2-D IWT which uses banded matrices for the sequences of coefficients {p_(n)} and {q_(n)}. However, in accordance with the present invention, it may be extended to the more general case where the standard wavelets {ψ_(m,k) _(m) (x)} are semi-orthogonal wavelets. For simplicity, this more general case will be described hereafter for the 1-D IWT.

Like the 1-D wavelet transform system 100 described earlier, the 1-D wavelet transform system 140 includes a pre-decomposition filter 142. However, the pre-decomposition filter 142 has a transfer function φ(z)⁻¹α(z) for mapping the 1-D set of original data samples f_(M) into a 1-D set of dual scaling function coefficients {tilde over (c)}_(M) in an L frequency band at the resolution level M.

Referring to FIG. 6, in order to do this, the pre-decomposition filter 142 of the present invention includes as a mapping filter stage 102 the same pre-decomposition filter 102 as that shown in FIG. 1. Thus, with the transfer function φ(z)⁻¹, this mapping filter stage 102 maps the set of original data samples f_(M) into the set of standard scaling function coefficients c_(M).

The pre-decomposition filter 142 of the present invention also has a mapping filter stage 144 that maps the set of standard scaling function coefficients c_(M) to the set of dual scaling function coefficients {tilde over (c)}_(M). This generates a change of bases so that the standard scaling functions {φ_(m,k) _(m) (x)} and the semi-orthogonal standard wavelets {ψ_(m,k) _(m) (x)} are used as the basic scaling functions and wavelets in the 1-D IWT instead of the dual scaling functions and wavelets {{tilde over (φ)}_(m,k) _(m) (x)} and {{tilde over (ψ)}_(m,k) _(m) (x)}.

In order to do this, it is important to note that the 1-D function f_(m)(x) given in Eq. (2) is also related to the dual scaling functions {{tilde over (φ)}_(m,k) _(m) (x)} and a 1-D set of dual scaling function coefficients {tilde over (c)}_(m)={{tilde over (c)}_(m,k) _(m) } at the resolution level m according to the following relationship: $\begin{matrix} {{f_{m}(x)} = {\sum\limits_{k_{m}}\quad {{\overset{\sim}{c}}_{m,k_{m}}{{{\overset{\sim}{\varphi}}_{m,k_{m}}(x)}.}}}} & (9) \end{matrix}$

Moreover, each dual scaling function coefficient {tilde over (c)}_(m,k) _(m) and the set of standard scaling function coefficients {c_(m,k) _(m) } are related by a sequence of mapping coefficients {α_(n)} as follows: $\begin{matrix} {{\overset{\sim}{c}}_{m,k_{m}} = {\sum\limits_{n}{\alpha_{n}c_{m,{k_{m} - n}}}}} & (10) \end{matrix}$

where each mapping coefficient α_(n) is given by the following change of bases formula: $\begin{matrix} {\alpha_{n} = {\int_{- \infty}^{\infty}{{\varphi_{m,0}(x)}{\varphi_{m,n}(x)}\quad {{x}.}}}} & (11) \end{matrix}$

The transfer function α(z) for the mapping filter stage 144 is a polynomial that has the sequence of mapping coefficients {α_(n)} as its coefficients. Thus, for m=M in Eqs. (9) to (11), the mapping filter stage 144 is an FIR filter and performs the transfer function α(z) by applying the sequence of mapping coefficients {α_(n)} to the set of standard scaling function coefficients c_(M)={c_(M,k) _(M) } to generate the set of dual scaling function coefficients {tilde over (c)}_(M)={{tilde over (c)}_(M,k) _(M) }.

Then, referring back to FIG. 5, the decomposition filter 146 of the 1-D wavelet transform system 140 decomposes the 1-D set of dual scaling function coefficients {tilde over (c)}_(M) in the L frequency band at the original resolution level M into a 1-D set of dual scaling function coefficients {tilde over (c)}_(N) in an L frequency band at the resolution level N and 1-D sets of dual wavelet coefficients {tilde over (d)}_(M−1) to {tilde over (d)}_(N) in H frequency bands at respectively the resolution levels M−1 to N. To do so, the decomposition filter 146 has a corresponding decomposition filter stage 148 for each resolution level m=M to N+1 at which a decomposition is made. The decomposition filter stage 148 for each resolution level m decomposes a 1-D set of dual scaling function coefficients {tilde over (c)}_(m) in an L frequency band at the higher resolution level m into a 1-D set of dual scaling function coefficients {tilde over (c)}_(m−1) in an L frequency band and a 1-D set of dual wavelet coefficients {tilde over (d)}_(m−1) in an H frequency band at the next lower resolution level m−1.

This is done in view of the fact that, when a change of bases is made and the standard scaling functions {φ_(m,k) _(m) (x)} and the semi-orthogonal standard wavelets {ψ_(m,k) _(m) (x)} are used as the basic scaling functions and wavelets in the 1-D IWT, the relationships in Eqs. (1) to (8) are switched (i.e., interchanged) with those for when the dual scaling functions and wavelets {{tilde over (φ)}_(m,k) _(m) (x)} and {{tilde over (ψ)}_(m,k) _(m) (x)} are the basic wavelets in the 1-D IWT. More specifically, at each resolution level M, the standard scaling functions {φ_(m,k) _(m) (x)} and the semi-orthogonal standard wavelets {ψ_(m,k) _(m) (x)} are respectively switched with the corresponding dual scaling functions and wavelets {{tilde over (φ)}_(m,k) _(m) (x)} and {{tilde over (ψ)}_(m,k) _(m) (x)}, the sets of standard scaling function and wavelet coefficients c_(m), c_(m−1), and d_(m−1) are respectively switched with the corresponding sets of dual scaling function and wavelet coefficients {tilde over (c)}_(m), {tilde over (c)}_(m−1), and {tilde over (d)}_(m−1), and the sequences of coefficients {a_(n)} and {b_(n)} are respectively switched with the sequences of coefficients {p_(n)} and {q_(n)}. This is further described in “An Introduction to Wavelets”.

Thus, the decomposition filter stage 148 at each resolution level m has the transfer functions P(z) and Q(z). The decomposition filter stage 148 performs the transfer functions P(z) and Q(z) on the set of dual scaling function coefficients {tilde over (c)}_(m) to generate the sets of dual wavelet and scaling functions coefficients {tilde over (c)}_(m−1) and {tilde over (d)}_(m−1).

More specifically, as shown in FIG. 7, in accordance with the present invention the decomposition filter stage 148 at each resolution level m has the same filters 130 and 132 as those shown in FIG. 4 for each reconstruction filter stage 124 of the inverse wavelet transform system 120 of FIG. 3. In this case, the filter stages 130 and 132 respectively perform the transfer functions P(z) and Q(z) (which are generally shorter, and thus more computationally efficient, than A(z) and B(z) of the system shown in FIG. 1) by respectively applying the sequences of decomposition coefficients {p_(n)} and {q_(n)} to the set of dual scaling function coefficients {tilde over (c)}_(m)={{tilde over (c)}_(m,k) _(m) } to respectively generate the sets of dual wavelet and scaling functions coefficients {{tilde over (d)}_(m−1,k) _(m) } and {{tilde over (c)}_(m−1,k) _(m) }. The sets of dual wavelet and scaling functions coefficients {{tilde over (d)}_(m−1,k) _(m) } and {{tilde over (c)}_(m−1,k) _(m) } are then respectively downsampled by the downsamplers 112 of the decomposition filter stage 146 to respectively generate the sets of standard wavelet and scaling functions coefficients {tilde over (d)}_(m−1)={{tilde over (d)}_(m−1,k) _(m−1) } and {tilde over (c)}_(m−1)={{tilde over (c)}_(m−1,k) _(m−1) }. The downsamplers 112 are the same as those shown in FIG. 2 for each decomposition filter stage 106 of the wavelet transform system 100 of FIG. 1.

Inverse Wavelet Transform System Using Standard Wavelets {ψ_(m,k) _(m) (x)} as Basic Wavelets

FIG. 8 shows an inverse wavelet transform system 160 that implements a corresponding 1-D inverse IWT to the 1-D IWT implemented by the wavelet transform system 140 of FIG. 5. Like the 1-D inverse IWT performed by the inverse wavelet transform system 120 of FIG. 3, the 1-D inverse IWT implemented by the inverse wavelet transform system 160 uses the standard scaling functions {φ_(m,k) _(m) (x)} and the semi-orthogonal standard wavelets {ψ_(m,k) _(m) (x)} as the basic scaling functions and wavelets in the 1-D inverse IWT.

In order to implement the 1-D inverse IWT, the inverse wavelet transform system 160 includes a reconstruction filter 162. The reconstruction filter 162 reconstructs the sets of dual scaling function and wavelet coefficients {tilde over (c)}_(N) and {tilde over (d)}_(M−1) to {tilde over (d)}_(N) into the set of standard scaling function coefficients c_(M). In order to do so, the reconstruction filter 162 includes a corresponding reconstruction filter stage 163 for the first resolution level m=N at which a reconstruction is made and a corresponding reconstruction filter stage 164 for every other resolution level m=N+1 to M−1 at which a reconstruction is made. The reconstruction filter stage 163 has the transfer functions Q(z)β(z)⁻¹ and P(z)α(z)⁻¹ while each reconstruction filter stage 164 has the transfer functions Q(z)β(z)⁻¹ and P(z).

Referring to FIG. 9, the reconstruction filter stage 163 includes a mapping filter substage 166 which has the transfer function α(z)⁻¹. The mapping filter substage 166 uses the transfer function α(z)⁻¹ to map the set of dual scaling function coefficients {tilde over (c)}_(N) to the set of standard scaling function coefficients c_(N) at the resolution level N. Furthermore, referring to FIGS. 9 and 10, each reconstruction filter 163 and 164 includes a mapping filter substage 168 that has a transfer function β(z)⁻¹ for mapping the set of dual wavelet coefficients {tilde over (d)}_(m) to the set of standard wavelet coefficients d_(m) at the corresponding resolution level m. In this way, a change of bases is made so that the standard scaling functions {φ_(m,k) _(m) (x)} and the semi-orthogonal standard wavelets {ψ_(m,k) _(m) (x)} are used as the basic scaling functions and wavelets in the 1-D inverse IWT rather than the dual scaling functions and wavelets {{tilde over (φ)}_(m,k) _(m) (x)} and {{tilde over (ψ)}_(m,k) _(m) (x)}.

Referring back to FIG. 9, the transfer function α(z)⁻¹ of the mapping filter substage 166 is the inverse of the transfer function α(z) described earlier. Thus, the transfer function α(z)⁻¹ is a rational function which has a sequence of mapping coefficients {Δ_(n)} as its poles. Thus, the mapping filter substage 166 is an IIR filter that applies the sequence of mapping coefficients {Δ_(n)} to the set of dual scaling function coefficients {tilde over (c)}_(N) to generate the set of standard scaling function coefficients c_(N).

Moreover, turning again to FIGS. 9 and 10, the transfer function β(z)⁻¹ for each mapping filter substage 168 is determined in view of the following relationship at the corresponding resolution level m: $\begin{matrix} {{\sum\limits_{k_{m}}{d_{m,k_{m}}{\psi_{m,k_{m}}(x)}}} = {\sum\limits_{k_{m}}{{\overset{\sim}{d}}_{m,k_{m}}{{{\overset{\sim}{\psi}}_{m,k_{m}}(x)}.}}}} & (12) \end{matrix}$

Furthermore, at this resolution level m−1, there exists a sequence of mapping coefficients {β_(n)} such that: $\begin{matrix} {{{\overset{\sim}{d}}_{m,k_{m}}(x)} = {\sum\limits_{n}{\beta_{n}{d_{m,{k_{m} - n}}(x)}}}} & (13) \end{matrix}$

where each mapping coefficient β_(n) is given by: $\begin{matrix} {\beta_{n} = {\int_{- \infty}^{\infty}{{\psi_{m,0}(x)}{\psi_{m,n}(x)}\quad {{x}.}}}} & (14) \end{matrix}$

The transfer function β(z)⁻¹ is the inverse of a transfer function β(z). The transfer function β(z) is a polynomial that has the sequence of mapping coefficients {β_(n)} as its coefficients. Thus, the transfer function β(z)⁻¹ is a rational function which has a corresponding sequence of mapping coefficients {δ_(n)} as its poles. As result, the mapping filter substage 168 is an IIR filter and applies the sequence of mapping coefficients {δ_(n)} to the set of dual wavelet coefficients {tilde over (d)}_(m) to generate the set of standard wavelet coefficients d_(m).

Referring to FIGS. 9 and 10, each reconstruction filter stage 163 and 164 includes a reconstruction filter stage 124 for the corresponding resolution level m. In accordance with the present invention, this reconstruction filter stage 124 is the same as the reconstruction filter stage 124 shown in FIG. 4 for the inverse wavelet transform system 120 of FIG. 3. Thus, this reconstruction filter stage 124 has the transfer functions P(z) and Q(z) for reconstructing the sets of standard scaling function and wavelet coefficients c_(m) and d_(m) at the lower resolution level m into the set of standard scaling function coefficients c_(m+1), at the next higher resolution level m+1.

Referring back to FIG. 8, the inverse wavelet transform system 160 further includes the same post-reconstruction filter 136 as that shown in FIG. 4 for the inverse wavelet transform system 120 of FIG. 3. Thus, as described earlier, the post-reconstruction filter 136 maps the set of standard scaling function coefficients c_(M) into the set of reconstructed data samples f_(M).

As those skilled in the art will recognize, the concepts just described may be extended to a 2-D IWT and a corresponding 2-D inverse IWT. This extension is straight forward and therefore will not be described at this point. However, it must be noted here that the sequence of mapping coefficients {δ_(n)} is large. Thus, unfortunately, the transfer function β(z)⁻¹ is computationally complex and difficult to implement. For example, in the 2-D inverse IWT described in U.S. Pat. No. 5,600,373, the sequence of mapping coefficients {δ_(n)} are provided as a banded matrix with many non-zero bands. This results in the 2-D inverse IWT being slow and inefficient when used to decompress 2-D image data.

SUMMARY OF THE INVENTION

In summary, the present invention comprises a wavelet transform system that implements a wavelet transform. Semi-orthogonal standard wavelets are used as the basic wavelets in the wavelet transform and related standard scaling functions are used as the basic scaling functions in the inverse wavelet transform. The standard scaling functions at a lower resolution level m are related to the standard scaling functions at a next higher resolution level m+1 by a first finite sequence of coefficients in a first two-scale relation. Similarly, the semi-orthogonal standard wavelets at the lower resolution level m are related to the standard scaling functions at the next higher resolution level m+1 by a second finite sequence of coefficients in a second two-scale relation.

The wavelet transform system includes a pre-decomposition filter. The pre-decomposition filter maps a set of original data samples into a set of dual scaling function coefficients at a resolution level m=M. The set of original data samples are given by a first function f_(m)(x) that approximates a second function f(x) at the resolution level m=M.

The wavelet transform system further includes a decomposition filter that decomposes the set of dual scaling function coefficients at the resolution level M into a set of dual scaling function coefficients at a resolution level m=N and sets of dual wavelet coefficients at respective resolution levels m=M−1 to N. The decomposition filter includes a corresponding decomposition filter stage for each resolution level m=M to N+1 at which a decomposition is made.

The decomposition filter stage at each resolution level m decomposes a set of dual scaling function coefficients at the higher resolution level m into a set of dual scaling function coefficients and a set of dual wavelet coefficients at the next lower resolution level m−1. In doing so, the first finite sequence of coefficients is applied to the set of standard scaling function coefficients at the higher resolution level m to generate the set of dual scaling function coefficients at the resolution level m−1. Similarly, the second finite sequence of coefficients is applied to the set of standard scaling function coefficients at the higher resolution level m to generate the set of dual wavelet coefficients at the resolution level m−1.

The present invention also comprises an inverse wavelet transform system that implements an inverse wavelet transform. The inverse wavelet transform corresponds to the wavelet transform implemented by the wavelet transform system just described. As in the wavelet transform, the semi-orthogonal standard wavelets are used as the basic wavelets in the inverse wavelet transform and the related standard scaling functions are used as the basic scaling functions in the inverse wavelet transform.

The inverse wavelet transform system includes a reconstruction filter that reconstructs a set of dual scaling function coefficients at a resolution level m=N and sets of dual wavelet coefficients at respective resolution levels m=N to M−1 into a set of dual scaling function coefficients at a resolution level M. The reconstruction filter includes a corresponding reconstruction filter stage for each resolution level m=N to M−1 at which a reconstruction is made.

The reconstruction filter stage for each resolution level m reconstructs a set of dual scaling function coefficients and a set of dual wavelet coefficients at the lower resolution level m into a set of dual scaling function coefficients at the next higher resolution level m+1. The reconstruction filter stage comprises a first mapping filter substage to apply a sequence of mapping coefficients to the set of dual scaling function coefficients at the resolution level m to generate a set of standard scaling function coefficients at the resolution level m. The reconstruction filter stage further includes a second mapping filter substage to apply the sequence of mapping coefficients to the set of dual wavelet coefficients at the lower resolution level m to generate a set of formatted wavelet coefficients at the resolution level m. Finally, the reconstruction filter stage includes a reconstruction filter substage to reconstruct the sets of standard scaling function and formatted wavelet coefficients at the lower resolution level m into the set of dual scaling function coefficients at the next higher resolution level m+1. This is done by applying a third finite sequence of reconstruction coefficients to the set of standard scaling function coefficients at the lower resolution level m and a fourth finite sequence of reconstruction coefficients to the set of formatted wavelet coefficients at the resolution level m. The third finite sequence of reconstruction coefficients is derived from the second finite sequence of reconstruction coefficients and the fourth finite sequence of reconstruction coefficients is derived from the first finite sequence of reconstruction coefficients.

The inverse wavelet transform system further includes a post-reconstruction filter. The post-reconstruction filter maps the set of dual scaling function coefficients at the resolution level M into a set of reconstructed data samples. The set of reconstructed data samples are also given by the first function f_(m)(x), for the resolution level m=M.

As indicated previously, semi-orthogonal standard wavelets are used as the basic wavelets in the wavelet transform and the inverse wavelet transforms. Thus, the first and second finite sequences of reconstruction coefficients are not infinite sequences of coefficients that have been truncated.

Furthermore, in one embodiment of each decomposition filter stage of the wavelet transform system, downsampling is not used. Similarly, in one embodiment of each reconstruction filter stage of the inverse wavelet transform, upsampling is not used.

Additionally, in one embodiment of the pre-decomposition filter of the wavelet transform system, the pre-decomposition filter has a transfer function that is the sum of an all-zeros polynomial and an all-poles rational function. In this case, the pre-decomposition filter comprises parallel FIR and IIR filters. In another embodiment of the pre-decomposition filter, the pre-decomposition filter has a transfer function that is obtained from the orthogonal projection of the second function f(x) to the first function f_(m)(x), for the resolution level m=M. In the case where this embodiment of the pre-decomposition filter is used in the wavelet transform system, a corresponding embodiment of the post-reconstruction filter is used in the inverse wavelet transform.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of an embodiment of a wavelet transform system in accordance with the present invention.

FIG. 2 shows a block diagram of each decomposition filter stage of the wavelet transform system of FIG. 1.

FIG. 3 shows a block diagram of an embodiment of an inverse wavelet transform system in accordance with the present invention.

FIG. 4 shows a block diagram of each reconstruction filter stage of the inverse wavelet transform system of FIG. 3.

FIG. 5 shows a block diagram of another embodiment of a wavelet transform system in accordance with the present invention.

FIG. 6 shows a block diagram of a pre-decomposition filter of the wavelet transform system of FIG. 5.

FIG. 7 shows a block diagram of each decomposition filter stage of the wavelet transform system of FIG. 5.

FIG. 8 shows a block diagram of another embodiment of an inverse wavelet transform system in accordance with the present invention.

FIG. 9 shows a block diagram of the first reconstruction filter stage of the inverse wavelet transform system of FIG. 8.

FIG. 10 shows a block diagram of every other reconstruction filter stage of the inverse wavelet transform system of FIG. 8.

FIG. 11 shows a block diagram of a data processing workstation according to the present invention.

FIG. 12 shows a block diagram of the operation of the data processing system of the data processing workstation of FIG. 11.

FIG. 13 shows a block diagram of an embodiment of a wavelet transform system for implementing a 1-D IWT according to present invention.

FIG. 14 shows a block diagram of an embodiment of an inverse wavelet transform system for implementing a 1-D inverse IWT according to present invention.

FIG. 15 shows a block diagram of each reconstruction filter stage of the inverse wavelet transform system of FIG. 14.

FIG. 16 shows a block diagram of a post-reconstruction filter of the inverse wavelet transform system of FIG. 14.

FIG. 17 shows a block diagram of an embodiment of a wavelet transform system for implementing a 2-D IWT according to present invention.

FIG. 18 shows a block diagram of a pre-decomposition filter of the wavelet transform system of FIG. 17.

FIG. 19 shows a block diagram of each decomposition filter substage of the wavelet transform system of FIG. 17.

FIG. 20 shows a block diagram of an embodiment of an inverse wavelet transform system for implementing a 2-D inverse IWT according to present invention.

FIG. 21 shows a block diagram of each reconstruction filter substage of the inverse wavelet transform system of FIG. 20.

FIG. 22 shows a block diagram of a post-reconstruction filter of the inverse wavelet transform system of FIG. 22.

FIG. 23 shows a block diagram of another embodiment of a pre-decomposition filter of the wavelet transform system of FIG. 13.

FIG. 24 shows a block diagram of still another embodiment of a pre-decomposition filter of the wavelet transform system of FIG. 13.

FIG. 25 shows a block diagram of another embodiment of a post-reconstruction filter of the inverse wavelet transform system of FIG. 14.

FIG. 26 shows a block diagram of another embodiment of each decomposition filter stage of the wavelet transform system of FIG. 13.

FIG. 27 shows a block diagram of another embodiment of each reconstruction filter substage of the inverse wavelet transform system of FIG. 14.

FIG. 28 shows a block diagram of pre-quantization filter substages of each decomposition filter stage of the wavelet transform system of FIG. 17.

FIG. 29 shows a block diagram of post-dequantization filter substages of each reconstruction filter stage of the inverse wavelet transform system of FIG. 20.

DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 11, there is shown a data processing workstation 200 with a software embodiment of a data processing system 202. The data processing workstation 200 includes a memory 210. The memory stores 210 an operating system 212 and the data processing system 202. The operating system 212 and the data processing system 202 are run on the CPU 214 of the workstation 200. The operating system 212 controls and coordinates running of the data processing system 202 in response to commands issued by a user with the user interface 216 of the workstation 200.

Original data and encoded (i.e., compressed) data generated externally is received by the data processing workstation 200 from an external source (not shown) over external communications channels 218 via the communications interface 220. This data is then stored in the memory locations 204 and 206, respectively, by the operating system 212. Similarly, encoded data that is generated by the data processing system 202 is stored in the memory location 206 and may be retrieved by the operating system 212 and transmitted to external destinations (not shown). This is done over the communications channels 218 via the communications interface 220. These operations are all done in response to commands issued by the user with the user interface 216.

When the user wishes to compress original data, the user issues appropriate commands with the user interface 216 to invoke the data processing system 202 and select the data. This original data may by 1-D data, such as audio signals, and/or 2-D data, such as image data. The data is then compressed by the data processing system 202 in the manner discussed next.

Referring to FIG. 12, the data processing system 202 includes a wavelet transform system 230. The wavelet transform system 230 retrieves the original data from the memory location 206 and decomposes it to form decomposed data. As will be discussed shortly, the wavelet transform system 230 uses a novel implementation of 1-D and 2-D IWTs in order to do this.

Then, the decomposed data is quantized by the quantization system 224 of the data processing system 202 to generate quantized data. In doing so, the quantization system 224 quantizes the decomposed data by quantizing its data samples to predefined allowable integer values.

The encoding system 226 of the data processing system 202 then encodes the quantized data to generate encoded data that it is compressed. This may be done by encoding the quantized data samples of the quantized data based on their quantized integer values Using well known lossless and highly compact encoding techniques. The encoding subsystem then stores the encoded data in the memory location 206.

Referring back to FIG. 11, conversely when the user wishes to decompress encoded data, the user issues appropriate commands with the user interface 216 to invoke the data processing system 202 and select the encoded data. The data processing system 202 then decompresses the encoded data in the manner discussed next.

The decoding system 228 of the data processing system 202 retrieves the encoded data from the memory location 206 and decodes it to generate decoded data that is also quantized. The decoding system 228 does this by decoding the encoded data samples of the encoded data Using a decoding technique corresponding to the encoding technique described earlier.

Then, the decoded data is dequantized by the dequantization system 232 of the data processing system 202 to generate dequantized data that was decomposed by the wavelet transform system 230. This is done by dequantizing the quantized data samples of the decoded data from their predefined allowable integer values to dequantized values. In doing so, the dequantization system 232 uses a dequantization technique corresponding to the quantization technique mentioned earlier.

The inverse wavelet transform system 240 of the data processing system 202 reconstructs the dequantized data to generate reconstructed data. As will be described shortly, this is done using a novel implementation of the 1-D and 2-D inverse IWTs that correspond to the 1-D and 2-D IWTs implemented by the wavelet transform system 230. The reconstructed data is then stored in the memory location 208 by the inverse wavelet transform system 240.

1-D Wavelet Transform Using S.O. Standard Wavelets {ψ_(m,k) _(m) (x)} as Basic Wavelets

Referring to FIG. 13, the wavelet transform system 230 is used to decompose original 1-D data that comprises a 1-D set of original data samples f_(M) at the original resolution level M. The set of original data samples f_(M) is decomposed by the wavelet transform system 230 into a set of dual scaling function coefficients {tilde over (c)}_(N) in an L frequency band at the resolution level M and sets of dual wavelet coefficients {tilde over (d)}_(M−1) to {tilde over (d)}_(N) in H frequency bands at respectively the resolution levels M−1 to N. This is done by using standard scaling functions {φ_(m,k) _(m) (x)} and s.o. standard wavelets {ψ_(m,k) _(m) (x)} as the basic scaling functions and wavelets in the 1-D IWT in the same manner as discussed earlier for the wavelet transform system 140.

In order to do this, the wavelet transform system 230 includes the same pre-decomposition filter 142 as does the wavelet transform system 140 of FIG. 5. Moreover, the wavelet transform system 230 includes a decomposition filter 234. The decomposition filter 234 has a corresponding decomposition filter stage 236 for the last resolution level m=N+1 at which a decomposition is made and a corresponding decomposition filter stage 238 for every other resolution level m=M to N+2 at which a decomposition is made. Each decomposition filter stage 236 and 238 includes a decomposition filter substage 148 for the corresponding resolution level m which is the same as the decomposition filter stage 148 shown in FIG. 7 for the wavelet transform system 140. However, in the wavelet transform system 230, alternative embodiments for the pre-decomposition filter 142 and each decomposition filter substage 148 may be used, as will be discussed later.

1-D Inverse Wavelet Transform Using S.O. Standard Wavelets {ψ_(m,k) _(m) (x)} as Basic Wavelets

Turning to FIG. 14, the inverse wavelet transform system 240 is used to reconstruct a set of dual scaling function and wavelet coefficients {tilde over (c)}_(N) and {tilde over (d)}_(M−1) to {tilde over (d)}_(N) that were generated in the manner just described into a set of reconstructed data samples f_(M). As mentioned earlier, the inverse wavelet transform system 240 uses a novel implementation of the 1-D inverse IWT that corresponds to the 1-D IWT implemented by the wavelet transform system 230. Like the 1-D inverse IWT performed by the inverse wavelet transform system 160 of FIG. 8, the 1-D inverse IWT implemented by the inverse wavelet transform system 240 uses the standard scaling functions {φ_(m,k) _(m) (x)} and the s.o. standard wavelets {ψm,k _(m) (x)} as the basic scaling functions and wavelets in the 1-D inverse IWT.

In order to implement the 1-D inverse IWT, the inverse wavelet transform system 240 includes a reconstruction filter 242. The reconstruction filter 242 reconstructs the sets of dual scaling function and wavelet coefficients {tilde over (c)}_(N) and {tilde over (d)}M−1 to {tilde over (d)}_(N) into the set of dual scaling function coefficients {tilde over (c)}_(M). The reconstruction filter 242 includes a corresponding reconstruction filter stage 243 for the first resolution level m=N at which a reconstruction is made and a corresponding reconstruction filter stage 245 for every other resolution level m=N+1 to M−1 at which a reconstruction is made. Each reconstruction filter stage 243 and 245 includes a reconstruction filter substage 244 for the corresponding resolution level m. The reconstruction filter substage 244 has the transfer functions P*(z)α(z)⁻¹ and Q*(z)α(z)⁻¹ to reconstruct the sets of dual wavelet and scaling function coefficients {tilde over (c)}_(m) and {tilde over (d)}_(m) in the L and H frequency band s at the lower resolution level m into the set of dual scaling function coefficients {tilde over (c)}_(m+1) in the L frequency band at the next higher resolution level m+1.

In order to do so, the reconstruction filter substage 244 for each resolution level m includes two mapping filter substages 166 with the transfer function α(z)⁻¹, as shown in FIG. 15. Each mapping filter substage 166 is the same as the mapping filter stage 166 shown in FIG. 8. One mapping filter substage 166 maps the set of dual scaling function coefficients {tilde over (c)}_(m)={{tilde over (c)}_(m,k) _(m) } to the set of standard scaling function coefficients {c_(m,k) _(m) } according to Eq. (10) for the resolution level m. However, the other mapping filter substage 166 maps the set of dual wavelet coefficients {tilde over (d)}_(m)={{tilde over (d)}_(m,k) _(m) } to a set of formatted wavelet coefficients {{overscore (d)}_(m,k) _(m) } at the resolution level m according to: $\begin{matrix} {{\overset{\sim}{d}}_{m,k_{m}} = {\sum\limits_{n}{\alpha_{n}{{\overset{\_}{d}}_{m,{k_{m} - n}}.}}}} & (15) \end{matrix}$

In performing these mappings, the sequence of mapping coefficients {Δ_(n)} described earlier are applied by the mapping filter substages 166 to the sets of dual scaling function and wavelet coefficients {{tilde over (c)}_(m,k) _(m) } and {{tilde over (d)}_(m,k) _(m) } to respectively generate the sets of standard scaling function and formatted wavelet coefficients {c_(m,k) _(m) } and {{overscore (d)}m,k _(m) }.

The reconstruction filter substage 244 for each resolution level m also includes a reconstruction filter substage 246. The reconstruction filter substage 246 reconstructs the sets of standard scaling function and formatted wavelet coefficients {c_(m,k) _(m) } and {{overscore (d)}m,k _(m) } in the L and H frequency bands at the lower resolution level m into the set of dual scaling function coefficients {tilde over (c)}_(m+1)={{tilde over (c)}_(m+1,k) _(m+1) } in the L frequency band at the next higher resolution level m+1. In order to do so, the transfer functions P*(z) and Q*(z) are used by the reconstruction filter substage 246.

The transfer functions P*(z) and Q*(z) are obtained in view of the fact that the sets of standard scaling function and formatted wavelet coefficients {c_(m,k) _(m) } and {{tilde over (d)}_(m,k) _(m) } are related to two sequences of reconstruction coefficients {p_(n)*} and {q_(n)*} and the set of dual scaling function coefficients {{tilde over (c)}_(m+1,k) _(m+1) } according to: $\begin{matrix} {{\overset{\sim}{c}}_{{m + 1},k_{m + 1}} = {\sum\limits_{k_{m}}{\left( {{p_{k_{m + 1} - {2k_{m}}}^{*}{\overset{\_}{d}}_{m,k_{m}}} + {q_{k_{m + 1} - {2k_{m}}}^{*}c_{m,k_{m}}}} \right).}}} & (16) \end{matrix}$

Furthermore, the sequences of reconstruction coefficients {p_(n)*} and {q_(n)*} are derived from the corresponding sequences of reconstruction coefficients {p_(n)} and {q_(n)} according to:

p _(n)*=(−1)^(n) p _(n+1)

q _(n)*=(−1)^(n−1) q _(n−1).  (17)

Thus, the transfer functions P*(z) and Q*(z) of the reconstruction filter substage 246 are polynomials that respectively have the sequences of reconstruction coefficients {p_(n)*} and {q_(n)*} as their coefficients.

In view of this, the reconstruction filter substage 246 at each resolution level m has upsamplers 126, like the reconstruction filter stage 124. In this case, the upsamplers 126 respectively upsample the sets of scaling function and formatted wavelet coefficients {c_(m,k) _(m) } and {{overscore (d)}_(m,k) _(m) } to respectively generate the sets of intermediate coefficients {c_(m,k) _(m+1) } and {{overscore (d)}_(m,k) _(m+1) }.

Furthermore, similar to the reconstruction filter stage 124 of FIGS. 4 and 9, the reconstruction filter substage 246 at each resolution level m has FIR filters 247 and 249. The filters 247 and 249 respectively perform the transfer functions P*(z) and Q*(z) by respectively applying the sequences of decomposition coefficients {p_(n)*} and {q_(n)*} to the sets of formatted wavelet and scaling function coefficients {{overscore (d)}_(m,k) _(m+1) } and {c_(m,k) _(m+1) } to respectively generate the sets of intermediate coefficients {{tilde over (z)}_(m+1,k) _(m+1) } and {{tilde over (y)}_(m+1,k) _(m+1) }. The sets of intermediate coefficients {{tilde over (z)}_(m+1,k) _(m+1) } and {{tilde over (y)}_(m+1,k) _(m+1) } are then component-wise summed by the summer 134 of the reconstruction filter substage 246 to generate the set of dual scaling function coefficients {tilde over (c)}_(m+1)={{tilde over (c)}_(m+1,k) _(m+1) }. The summer 134 is the same as that in the reconstruction filter stage 124 of FIGS. 4 and 9.

Referring back to FIG. 14, the post-reconstruction filter 248 of the inverse wavelet transform system 240 has the transfer function α(z)⁻¹φ(z). This transfer function α(z)⁻¹φ(z) is used by the post-reconstruction filter 248 to map the set of dual scaling function coefficients {tilde over (c)}_(M) into the set of reconstructed data samples f_(M).

As shown in FIG. 16, the post-reconstruction filter 248 includes a mapping filter stage 166 that is the same as the mapping filter stage 166 shown in FIG. 8 for the inverse wavelet transform system 160. Here, the mapping filter stage 166 performs the transfer function α(z)⁻¹ by applying the sequence of coefficients {Δ_(n)} to the set of dual scaling function coefficients {tilde over (c)}_(M) to generate the set of standard scaling function coefficients c_(M). The post-reconstruction filter 248 also includes as a mapping filter stage 136 the same post-reconstruction filter 136 as in the inverse wavelet transform system 120 of FIG. 3. This mapping filter stage 136 uses the transfer function φ(z) to map the set of standard scaling function coefficients c_(M) into the set of reconstructed data samples f_(M) by applying the sequence of mapping coefficients {φ_(n)} to the set of standard scaling function coefficients c_(M).

Referring back to FIG. 15, in each reconstruction filter substage 244, the use of the two mapping filter substages 166 and the switching of the filters 130 and 132 in the reconstruction filter substage 246 provides several benefits to the inverse wavelet transform system 240. First, this avoids having to change basis using the same complex mapping filter substage 168 as in each reconstruction filter stage 164 shown in FIG. 9 for the inverse wavelet transform system 160 of FIG. 8. Second, this avoids having to use the truncated infinite sequences of coefficients {a_(n)} and {b_(n)} applied with the complex filters 108 and 110 shown in FIG. 2 for each decomposition filter stage 106 of the wavelet transform system 100 of FIG. 1.

2-D Wavelet Transform Using Standard Wavelets {ψ_(m,k) _(m) (x)} and {ψ_(m,j) _(m) (y)} as Basic Wavelets

In a typical 2-D IWT, the dual scaling functions and wavelets {{tilde over (φ)}_(m,k) _(m) (x)}, {{tilde over (φ)}_(m,j) _(m) (y), {{tilde over (ψ)}_(m,k) _(m) (x)} and {{tilde over (ψ)}_(m,j) _(m) (y)} to the standard wavelets {φ_(m,k) _(m) (x)}, {φ_(m,j) _(m) (y), {ψ_(m,k) _(m) (x)}, and {ψ_(m,j) _(m) (y)} are used as the basic scaling functions and wavelets in the 2-D IWT, where the indexes k_(m) and j_(m) correspond to the resolution level m. For each resolution level m=M to N+1 at which a decomposition is made in this 2-D IWT, there exists the following relationship between the 2-D set of standard scaling function coefficients c_(m)={c_(m,k) _(m) _(j) _(m) } at the higher resolution level m and the 2-D sets of standard scaling function and wavelet coefficients c_(m−1)={c_(m−1,k) _(m−1) _(,j) _(m−1) }, d_(m−1) ¹={d_(m−1,k) _(m−1) _(,j) _(m−1) ¹}, d_(m−1) ²={d_(m−1,k) _(m−1) _(,j) _(m−1) ²}, d_(m−1) ³={d_(m−1,k) _(m−1) _(,j) _(m−1) ³} at the next lower resolution level m−1: $\begin{matrix} \begin{matrix} {{\sum\limits_{k_{m},j}{c_{m,k_{m},j_{m}}{\varphi_{m,k}(x)}{\varphi_{m,j}(y)}}} = \quad {\sum\limits_{k_{m - 1},j_{m - 1}}\left( d_{{m - 1},k_{m - 1},j_{m - 1}}^{1} \right.}} \\ {\quad {{{\varphi_{{m - 1},k_{m - 1}}(x)}{\psi_{{m - 1},j_{m - 1}}(y)}} +}} \\ {\quad {d_{{m - 1},k_{m - 1},j_{m - 1}}^{2}{\psi_{{m - 1},k_{m - 1}}(x)}}} \\ {\quad {{\varphi_{{m - 1},j_{m - 1}}(y)} +}} \\ {\quad {d_{{m - 1},k_{m - 1},j_{m - 1}}^{3}{\psi_{{m - 1},k_{m - 1}}(x)}}} \\ {\quad {{\psi_{{m - 1},j_{m - 1}}(y)} +}} \\ {\quad {c_{{m - 1},k_{m - 1},j_{m - 1}}{\varphi_{{m - 1},k_{m - 1}}(x)}}} \\ {\left. \quad {\varphi_{{m - 1},j_{m - 1}}(y)} \right).} \end{matrix} & (18) \end{matrix}$

In view of Eq. (18),the standard scaling function and wavelet coefficients c_(m−1,k) _(m−1) _(,j) _(m−1) , d_(m−1,k) _(m−1) _(,j) _(m−1) ¹, d_(m−1,k) _(m−1) _(,j) _(m−1) ², and d_(m−1,k) _(m−1) _(,j) _(m−1) ³ at each resolution level m−1 may be obtained according to the decomposition sequences: $\begin{matrix} \begin{matrix} {c_{{m - 1},k_{m - 1},j_{m - 1}} = {\sum\limits_{k_{m},j_{m}}{a_{k_{m} - {2k_{m - 1}}}a_{j_{m} - {2j_{m - 1}}}c_{m,k_{m},j_{m}}}}} \\ {d_{{m - 1},k_{m - 1},j_{m - 1}}^{1} = {\sum\limits_{k_{m},j_{m}}{a_{k_{m} - {2k_{m - 1}}}b_{j_{m} - {2j_{m - 1}}}c_{m,k_{m},j_{m}}}}} \\ {d_{{m - 1},k_{m - 1},j_{m - 1}}^{2} = {\sum\limits_{k_{m},j_{m}}{b_{k_{m} - {2k_{m - 1}}}a_{j_{m} - {2j_{m - 1}}}c_{m,k_{m},j_{m}}}}} \\ {d_{{m - 1},k_{m - 1},j_{m - 1}}^{3} = {\sum\limits_{k_{m},j_{m}}{b_{k_{m} - {2k_{m - 1}}}b_{j_{m} - {2j_{m - 1}}}{c_{m,k_{m},j_{m}}.}}}} \end{matrix} & (19) \end{matrix}$

This is further described in U.S. Pat. No. 5,262,958 referenced earlier. From Eq. (19), it is clear that the dual scaling functions and wavelets {{tilde over (φ)}_(m,k) _(m) (x)}, {{tilde over (φ)}_(m,j) _(m) (y)}, {{tilde over (ψ)}_(m,k) _(m) (x)}, and {{tilde over (ψ)}_(m,j) _(m) (y)} are used as the basic wavelets in this other 2-D IWT since it is defined by: $\begin{matrix} \begin{matrix} {c_{m,k,j} = {\int_{- \infty}^{\infty}{{f\left( {x,y} \right)}{{\overset{\sim}{\varphi}}_{m,k_{m}}(x)}{{\overset{\sim}{\varphi}}_{m,j_{m}}(y)}\quad {x}{y}}}} \\ {d_{m,k,j}^{1} = {\int_{- \infty}^{\infty}{{f\left( {x,y} \right)}{{\overset{\sim}{\varphi}}_{m,k_{m}}(x)}{{\overset{\sim}{\psi}}_{m,j_{m}}(y)}\quad {x}{y}}}} \\ {d_{m,k,j}^{2} = {\int_{- \infty}^{\infty}{{f\left( {x,y} \right)}{{\overset{\sim}{\psi}}_{m,k_{m}}(x)}{{\overset{\sim}{\varphi}}_{m,j_{m}}(y)}\quad {x}{y}}}} \\ {d_{m,k,j}^{3} = {\int_{- \infty}^{\infty}{{f\left( {x,y} \right)}{{\overset{\sim}{\psi}}_{m,k_{m}}(x)}{{\overset{\sim}{\psi}}_{m,j_{m}}(y)}\quad {x}{{y}.}}}} \end{matrix} & (20) \end{matrix}$

Conversely, in the 2-D inverse IWT that corresponds to the 2-D IWT just described, each standard scaling function coefficient c_(m,k) _(m) _(,j) _(m) is given by: $\begin{matrix} \begin{matrix} {c_{m,k_{m},j_{m}} = \quad {\sum\limits_{k_{m - 1},j_{m - 1}}\left( {{p_{k_{m} - {2k_{m - 1}}}p_{j_{m} - {2j_{m - 1}}}c_{{m - 1},k_{m - 1},j_{m - 1}}} +} \right.}} \\ {\quad {{p_{k_{m} - {2k_{m - 1}}}q_{j_{m} - {2j_{m - 1}}}d_{{m - 1},k_{m - 1},j_{m - 1}}^{1}} +}} \\ {\quad {{q_{k_{m} - {2k_{m - 1}}}p_{j_{m} - {2j_{m - 1}}}d_{{m - 1},k_{m - 1},j_{m - 1}}^{2}} +}} \\ {\left. \quad {q_{k_{m} - {2k_{m - 1}}}q_{j_{m} - {2j_{m - 1}}}d_{{m - 1},k_{m - 1},j_{m - 1}}^{3}} \right).} \end{matrix} & (21) \end{matrix}$

This is also described in U.S. Pat. No. 5,262,958 referenced earlier. Here, the standard scaling functions and wavelets {φ_(m,k) _(m) (x)}, {φ_(m,j) _(m) (y), {ψ_(m,k) _(m) (x)}, and {ψ_(m,j) _(m) (y)} are used as the basic scaling functions and wavelets in the 2-D inverse IWT, as can be seen by combining Eqs. (18) and (21).

But, similar to the 1-D IWT discussed earlier, a change of bases may be made so that the standard scaling functions and wavelets {φ_(m,k) _(m) (x)}, {φ_(m,j) _(m) (y), {ψ_(m,k) _(m) (x)}, and {ψ_(m,j) _(m) (y)} are used also as the basic scaling functions and wavelets in the 2-D IWT. In this case, the relationships in Eqs. (18) to (21) are switched with those for when the dual scaling functions and wavelets {{tilde over (φ)}_(m,k) _(m) (x)}, {{tilde over (φ)}_(m,j) _(m) (y), {{tilde over (ψ)}_(m,k) _(m) (x)}, and {{tilde over (ψ)}_(m,j) _(m) (y)} are the basic wavelets in the 2-D IWT. As a result, at each resolution level m, the standard scaling functions and wavelets {φ_(m,k) _(m) (x)}, {φ_(m,j) _(m) (y)}, {ψ_(m,k) _(m) (x)}, and {ψ_(m,j) _(m) (y)} are respectively switched with the corresponding dual scaling functions and wavelets {{tilde over (φ)}_(m,k) _(m) (x)}, {{tilde over (φ)}_(m,j) _(m) (y)}, {{tilde over (ψ)}_(m,k) _(m) (x)}, and {{tilde over (ψ)}_(m,j) _(m) (y)}, the sets of standard scaling function and wavelet coefficients c_(m−1), d_(m−1) ¹, d_(m−1) ², and d_(m−1) ³ are switched with the corresponding sets of dual scaling function and wavelet coefficients {tilde over (c)}_(m−1), {tilde over (d)}_(m−1) ¹, {tilde over (d)}_(m−1) ², and {tilde over (d)}_(m−1) ³, and the sequences of coefficients {a_(n)} and {b_(n)} are respectively switched with the sequences of coefficients {p_(n)} and {q_(n)}. Furthermore, if the standard wavelets {ψ_(m,k) _(m) (x)}, and {ψ_(m,j) _(m) (y)} are s.o. wavelets in this case, then the sequences of coefficients {p_(n)} and {q_(n)} are finite and can be used in both decomposition and reconstruction, as in the 1-D IWT discussed earlier.

Referring to FIG. 17, the wavelet transform system 230 implements such a 2-D IWT with s.o. standard wavelets {ψ_(m,k) _(m) (x)}, and {ψ_(m,j) _(m) (y)} as the basic wavelets. Like the 1-D original data discussed earlier, the original 2-D data comprises a 2-D set of original data samples f_(M) at the original resolution level M. The set of original data samples f_(M)={f_(M,n,i)}=f_(M)(2^(−M)n,2^(−M)i) is given by a 2-D function f_(M)(x,y), where x=2^(−M)n and y=2^(−M)i. Similar to the 1-D function f_(M)(x), the 2-D function f_(M)(x,y) approximates another 2-D function f(x,y) at the original resolution level M. But, in this case, the set of original data samples f_(M) extends in two spatial dimensions, the x and y directions.

The set of original data samples f_(M) is decomposed by the wavelet transform system 230 into a 2-D set of dual scaling function coefficients {tilde over (c)}_(N) in an LL (vertical and horizontal direction low) frequency band at the resolution level N, 2-D sets of dual wavelet coefficients {tilde over (d)}_(M−1) ¹ to {tilde over (d)}_(N) ¹ in LH (horizontal direction low and vertical direction high) frequency bands at respectively the resolution levels m=M−1 to N, 2-D sets of dual wavelet coefficients {tilde over (d)}_(M−1) ² to {tilde over (d)}_(N) ² in HL (horizontal direction high and vertical direction low) frequency bands at respectively the resolution levels m=M−1 to N, and 2-D sets of dual wavelet coefficients {tilde over (d)}_(M−1) ³ to {tilde over (d)}_(N) ³ in HH (horizontal and vertical direction high) frequency bands at respectively the resolution levels m=M−1 to N. This is done in a similar manner to that in the 1-D IWT implemented by the wavelet transform system 230.

Specifically, the pre-decomposition filter 270 of the wavelet transform system 230 has the transfer function φ(z₁)⁻¹α(z₁)φ(z₂)⁻¹α(z₂) for mapping the set of original data samples f_(M) into the set of dual scaling function coefficients {tilde over (c)}_(M) in an LL frequency band at the resolution level m=M. In order to do this, the pre-decomposition filter 270 includes two pre-decomposition filter stages 142, as shown in FIG. 18. Each pre-decomposition filter stage 142 is the same pre-decomposition filter 142 as that shown in FIG. 6 for the 1-D IWT.

The first pre-decomposition filter stage 142 has the transfer function φ(z₁)⁻¹α(z₁) for mapping in the horizontal direction each row i of the 2-D set of original data samples f_(M)=(f_(M,n,i)} into a corresponding row i of a 2-D set of intermediate coefficients ũ_(M)={ũ_(M,k) _(M) _(,i)}. Similarly, the second pre-decomposition filter stage 142 has the transfer function φ(z₂)⁻¹α(z₂) for mapping in the vertical direction each column k_(M) of the 2-D set of intermediate coefficients ũ_(M)={ũ_(M,k) _(M) _(,i)} into a corresponding column k_(M) of the 2-D set of dual scaling function coefficients {tilde over (c)}_(M)={{tilde over (c)}_(M,k) _(M) _(,j) _(M) }. This is done by these two pre-decomposition filter stages 142 in the manner described earlier for the 1-D IWT.

Referring back to FIG. 17, the wavelet transform system 230 further includes a decomposition filter 272 to implement the 2-D IWT. The decomposition filter 272 decomposes the set of dual scaling function coefficients {tilde over (c)}_(M) into the sets of dual scaling function and wavelet coefficients {tilde over (c)}_(N), {tilde over (d)}_(M−1) ¹ to {tilde over (d)}_(N) ¹, {tilde over (d)}_(M−1) ² to {tilde over (d)}_(N) ², and {tilde over (d)}_(M−1) ³ to {tilde over (d)}_(N) ³. In order to do so, the decomposition filter 272 includes a corresponding decomposition filter stage 273 for the last resolution level m=N+1 at which a decomposition is made and a decomposition filter stage 275 for every other resolution level m=M to N+2 at which a decomposition is made.

Each decomposition filter stage 273 and 275 includes a decomposition filter substage 274 for the corresponding resolution level m which has the transfer functions P(z₁)P(z₂), P(z₁)Q(z₂), Q(z₁)P(z₂), and Q(z₁)Q(z₂). This enables the decomposition filter substage 274 to decompose the set of dual scaling function coefficients {tilde over (c)}_(m) in the LL frequency band at the higher resolution level m into the sets of dual wavelet and scaling function coefficients {tilde over (c)}_(m−1), {tilde over (d)}_(m−1) ¹, {tilde over (d)}_(m−1) ², and {tilde over (d)}_(m−1) ³ in the LL, LH, HL, and HH frequency bands at the next lower resolution level m−1.

More specifically, as shown in FIG. 19, the decomposition filter substage 274 for each resolution level m includes three decomposition filter substages 148. Each decomposition filter substage 148 is the same decomposition filter stage 148 as that shown in FIG. 7 for the 1-D IWT.

The first decomposition filter substage 148 has the transfer functions P(z₁) and Q(z₁). This allows this decomposition filter substage 148 to decompose in the horizontal direction each row j_(m) of the 2-D set of dual scaling function coefficients {tilde over (c)}_(m)={{tilde over (c)}_(m,k) _(m) _(,j) _(m) } into a corresponding row j_(m) of the 2-D set of intermediate coefficients {tilde over (s)}_(m−1)={{tilde over (s)}_(m−1,k) _(m−1) _(,j) _(m) } and a corresponding row j_(m) of the 2-D set of intermediate coefficients {tilde over (t)}_(m−1)={{tilde over (t)}_(m−1,k) _(m−1) _(,j) _(m) }. This is done in the manner described earlier for the 1-D IWT.

The second and third decomposition filter substages 148 each have the transfer functions P(z₂) and Q(z₂). Using the transfer functions P(z₂) and Q(z₂), the second decomposition filter substage 148 decomposes in the vertical direction each column k_(m−1) of the 2-D set of intermediate coefficients {tilde over (s)}_(m−1)={{tilde over (s)}_(m−1,k) _(m−1) _(,j) _(m) } into a corresponding column k_(m−1) of the 2-D set of dual scaling function coefficients {tilde over (c)}_(m−1)={{tilde over (c)}_(m−1,k) _(m−1) _(,j) _(m−1) } and a corresponding column k_(m−1) of the 2-D set of dual wavelets coefficients {tilde over (d)}_(m−1) ¹={{tilde over (d)}_(m−1,k) _(m−1) _(,j) _(m−1) ¹}. Similarly, the third decomposition filter substage 148 uses the transfer functions P(z₂) and Q(z₂) to decompose in the vertical direction each column k_(m−1) of the 2-D set of intermediate coefficients {tilde over (t)}_(m−1)={{tilde over (t)}_(m−1,k) _(m−1) _(,j) _(m) } into a corresponding column k_(m−1) of the 2-D set of dual wavelet coefficients {tilde over (d)}_(m−1) ²={{tilde over (d)}_(m−1,k) _(m−1) _(,j) _(m−1) ²} and a corresponding column k_(m−1) of the 2-D set of dual wavelets coefficients {tilde over (d)}_(m−1) ³={{tilde over (d)}_(m−1,k) _(m−1) _(,j) _(m−1) ³}. This is done by these two decomposition filter substages 148 in the manner described earlier for the 1-D IWT.

2-D Inverse Wavelet Transform Using S.O. Standard Wavelets {ψ_(m,k) _(m) (x)} and {ψ_(m,j) _(m) (y)} as Basic Wavelets

Turning to FIG. 20, the inverse wavelet transform system 240 uses a 2-D inverse IWT that corresponds to the 2-D IWT implemented by the wavelet transform system 230 of FIG. 17. Here, the standard scaling functions {φ_(m,k) _(m) (x)} and {φ_(m,j) _(m) (y) and the s.o. standard wavelets {ψ_(m,k) _(m) (x)} and {ψ_(m,j) _(m) (y)} that were used as the basic wavelets in the 2-D IWT are also used as the basic scaling functions and wavelets in the 2-D inverse IWT. Thus, the inverse wavelet transform system 240 is used to reconstruct sets of dual scaling function and wavelet coefficients {tilde over (c)}_(N), {tilde over (d)}_(M−1) ¹ to {tilde over (d)}_(N) ¹, {tilde over (d)}_(M−1) ² to {tilde over (d)}_(N) ², and {tilde over (d)}_(M−1) ³ to {tilde over (d)}_(N) ³ into a set of reconstructed data samples f_(M).

In order to implement the 2-D inverse IWT, the inverse wavelet transform system 240 includes a reconstruction filter 250. The reconstruction filter 250 reconstructs the sets of dual scaling function and wavelet coefficients {tilde over (c)}_(N), {tilde over (d)}_(M−1) ¹ to {tilde over (d)}_(N) ¹, {tilde over (d)}_(M−1) ² to {tilde over (d)}_(N) ², and {tilde over (d)}_(M−1) ³ to {tilde over (d)}_(N) ³ into the set of dual scaling function coefficients {tilde over (c)}_(M). To do so, the reconstruction filter 250 includes a corresponding reconstruction filter stage 253 for the first resolution level m=N at which a reconstruction is made and a corresponding reconstruction filter stage 252 for every other resolution level m=N to M−1 at which a reconstruction is made.

Each reconstruction filter stage 252 and 253 includes a reconstruction filter substage 254 for the corresponding resolution level m. This reconstruction filter substage 254 has the transfer functions Q*(z₁)α(z₁)Q*(z₂)α(z₂), Q*(z₁)α(z₁)P*(z₂)α(z₂), P*(z₁)α(z₁)Q*(z₂)α(z₂), and P*(z₁)α(z₁)P*(z₂)α(z₂). As a result, the reconstruction filter substage 254 reconstructs the sets of dual wavelet and scaling function coefficients {tilde over (c)}_(m), {tilde over (d)}_(m) ¹, {tilde over (d)}_(m) ², and {tilde over (d)}_(m) ³ in the LL, LH, HL, and HH frequency bands at the lower resolution level m into the set of dual scaling function coefficients {tilde over (c)}_(m+1) in the LL frequency band at the next higher resolution level m+1.

For doing so, the reconstruction filter substage 254 includes three reconstruction filter substages 246, as shown in FIG. 21. Each reconstruction filter substage 246 is the same reconstruction filter substage 246 as that shown in FIG. 15 for the 1-D inverse IWT.

The first and second reconstruction filter substages 246 each have the transfer functions Q*(z₂)α(z₂) and P*(z₂)α(z₂). Using the transfer functions Q*(z₂)α(z₂) and P*(z₂)α(z₂), the first reconstruction filter substage 246 reconstructs in the vertical direction each column k_(m) of a 2-D set of intermediate coefficients {tilde over (s)}_(m+1)={{tilde over (s)}_(m+1,k) _(m) _(,j) _(m+1) } from a corresponding column k_(m) of the 2-D set of dual scaling function coefficients {tilde over (c)}_(m)={{tilde over (c)}_(m,k) _(m) _(,j) _(m) } and a corresponding column k_(m) of the 2-D set of dual wavelet coefficients {tilde over (d)}_(m) ¹={{tilde over (d)}_(m,k) _(m) _(,j) _(m)}. Similarly, the second reconstruction filter substage 246 uses the transfer functions Q*(z₂)α(z₂) and P*(z₂)α(z₂) to reconstruct in the vertical direction each column k_(m) of a 2-D set of intermediate coefficients {tilde over (t)}_(m)={{tilde over (t)}_(m+1,k) _(m) _(,j) _(m+1) } from a corresponding column k_(m) of the 2-D set of dual wavelet coefficients {tilde over (d)}_(m) ²={{tilde over (d)}_(m,k) _(m) _(,j) _(m) ²} and a corresponding column k_(m) of the set of dual wavelet coefficients {tilde over (d)}_(m) ³={{tilde over (d)}m,k _(m) _(,j) _(m) }. This is done by these reconstruction filter substages 246 in the same manner as described earlier for the 1-D inverse IWT.

Furthermore, with the transfer functions Q*(z₁)α(z₁) and P*(z₁)α(z₁), the third reconstruction filter substage 246 reconstructs in the horizontal direction each row j_(m+1) of the 2-D set of dual scaling function coefficients {tilde over (c)}_(m+1)={{tilde over (c)}_(m+1,k) _(m+1) _(,j) _(m+1) } from a corresponding row j_(m+1) of the 2-D set of intermediate coefficients {tilde over (s)}_(m+1)={{tilde over (s)}_(m+1,k) _(m) _(,j) _(m+1) } and a corresponding row j_(m+1) of the 2-D set of intermediate coefficients {tilde over (t)}_(m+1)={{tilde over (t)}_(m+1,k) _(m) _(,j) _(m+1) }. This is also done in the same manner as described earlier for the 1-D inverse IWT.

Referring back to FIG. 20, the post-reconstruction filter 256 of the inverse wavelet transform system 240 has the transfer function φ(z₁)α(z₁)⁻¹φ(z₂)α(z₂)⁻¹ for mapping the set of dual scaling function coefficients {tilde over (c)}_(M) into the set of reconstructed data samples f_(M). In order to do this, the post-reconstruction filter 256 includes two post-reconstruction filter stages 248, as shown in FIG. 22. Each post-reconstruction filter stage 248 is the same post-reconstruction filter 248 as that shown in FIG. 16 for the 1-D inverse IWT.

The first post-reconstruction filter stage 248 has the transfer function φ(z₂)α(z₂)⁻¹ for mapping in the vertical direction each column k_(M) of the 2-D set of dual scaling function coefficients {tilde over (c)}_(M)={{tilde over (c)}_(M,k) _(M) _(,j) _(M) } into a corresponding column k_(M) of the 2-D set of intermediate coefficients ũ_(M)={ũ_(M,k) _(M) _(,i)}. Similarly, the second post-reconstruction filter stage 248 uses the transfer function φ(z₁)α(z₁)⁻¹ to map in the horizontal direction each row i of the 2-D set of intermediate coefficients ũ_(M)={ũ_(M,k) _(M) _(,i)} into a corresponding row i of the 2-D set of reconstructed data samples f_(M)={f_(M,n,i)}. This is done by these two post-reconstruction filter stages 248 in the same manner as described earlier for the 1-D inverse IWT.

Specific Implementation of Wavelet and Inverse Wavelet Transform Systems

In a specific implementation of the wavelet transform system 230 of FIGS. 13 and 17 and the inverse wavelet transform system 240 of FIGS. 14 and 20, the scaling function φ_(0,0)(x) may be a cubic spline. In this case, the sequence of mapping coefficients {φ_(n)} is given by:

 φ_(n)=0,

for n≦−2 and n≧2

φ⁻¹=⅙

φ₀={fraction (4/6)}

φ₁=⅙  (22)

Thus, the mapping filter stage 136 of FIG. 15 performs a moving average operation according to:

y _(k)= . . . +ε⁻¹ x _(k+1)+ε₀ x _(k)+ε₁ x _(k−1)+ . . .   (23)

where the set of inputs {x_(k)}, the set of outputs {y_(k)}, and the sequence of taps {ε_(k)} are respectively the set of standard scaling function coefficients {c_(M,k) _(M) }, the set of original data samples {f_(M,k) _(M) }, and the sequence of mapping coefficients {φ_(k) _(M) }.

Conversely, the sequence of mapping coefficients {⊖_(n)} corresponding to the sequence of mapping coefficients {φ_(n)} is given by:

⊖_(n)=0,

for n≦−2 and n≧2

⊖₀=⅙(2+{square root over (3)})

⊖₁=⊖⁻¹=2−{square root over (3)}  (24)

In this case, the mapping filter stage 102 of FIG. 6 performs a recursive two-stage feedback differencing operation as follows: $\begin{matrix} \begin{matrix} {y_{k} = {x_{k} - {\mu_{1}y_{k - 1}} - \ldots}} \\ {{w_{k} = {y_{k} - {\mu_{- 1}w_{k + 1}} - \ldots}}\quad,} \\ {z_{k} = \frac{w_{k}}{\mu_{0}}} \end{matrix} & (25) \end{matrix}$

where the set of inputs {x_(k)}, the set of outputs {z_(k)}, and the sequence of taps {μ_(k)} are respectively the set of original data samples {f_(M,k) _(M) }, the set of standard scaling function coefficients {c_(M,k) _(M) }, and the sequence of mapping coefficients {⊖_(k) _(M) }.

Furthermore, in this specific implementation, the sequence of mapping coefficients {α_(n)} is given by:

α_(n)=0,

for n≦−5 and n≧5

α⁻⁴=α₄={fraction (1/5040)}

α⁻³=α₃={fraction (12/5040)}

α⁻²=α₂={fraction (1191/5040)}

α⁻¹=α₁={fraction (2416/5040)}  (26)

Thus, the mapping filter stage 144 of FIG. 6 performs a moving average operation according to Eq. (23) where the set of inputs {x_(k)}, the set of outputs {y_(k)}, and the sequence of taps {ε_(k)} are respectively the set of standard scaling function coefficients {c_(m,k) _(m) }, the set of dual scaling function coefficients {{tilde over (c)}_(m,k) _(m) }, and the sequence of mapping coefficients {α_(k) _(m) }.

Similarly, the sequence of mapping coefficients {Δ_(n)} corresponding to the sequence of mapping coefficients {α_(n)} is given by:

Δ_(n)=0,

for n≦−4 and n≧4

Δ₀=5.289556603818

Δ₁=Δ⁻¹=0.666983740798

Δ₂=Δ⁻²=0.071619419287

Δ₃=Δ⁻³=0.000600164327  (27)

The mapping filter substages 166 shown in FIGS. 15 and the mapping filter stage 166 shown in FIG. 16 each perform a recursive two-stage feedback differencing operation according to Eq. (25). Thus, for the mapping filter substages 166 of FIG. 15, the sets of inputs {x_(k)} are respectively the sets of dual scaling function and wavelet coefficients {{tilde over (c)}_(m,k) _(m) } and {{tilde over (d)}_(m,k) _(m) }, the sets of outputs {z_(k)} are respectively the sets of standard scaling function and formatted wavelet coefficients {c_(m,k) _(m) } and {{overscore (d)}_(m,k) _(m) }, and the sequence of taps {μ_(k)} is the sequence of mapping coefficients {Δ_(k) _(m) }. Finally, for the mapping filter stage 166 of FIG. 16, the set of inputs {x_(k)} is the set of dual scaling function coefficients {{tilde over (c)}_(M,k) _(M) }, the set of outputs {z_(k)} is the set of standard scaling function coefficients {c_(M,k) _(M) }, and the sequence of taps {μ_(k)} is the sequence of mapping coefficients {Δ_(k) _(M) }.

Additionally, the sequence of decomposition coefficients {p_(n)} is given by:

p _(n)=0,

for n≦−3 and n≧3

p ⁻² =p ₂=1/(8{square root over (2)})

p ⁻¹ =p ₁=4/(8{square root over (2)})

p ₀=6/(8{square root over (2)})  (28)

As a result, the filter 130 shown in FIG. 7 performs a moving average operation according to Eq. (23) where the set of inputs {x_(k)}, the set of outputs {y_(k)}, and the sequence of taps {ε_(k)} are respectively the set of dual scaling function coefficients {{tilde over (c)}_(m,k) _(m) }, the set of intermediate coefficients {{tilde over (c)}_(m−1,k) _(m) }, and the sequence of decomposition coefficients {p_(k) _(m) }. But, the sequence of reconstruction coefficients {p_(n)*56 is obtained from Eq. (28) using Eq. (17). Thus, the filter 247 shown in FIG. 15 also performs a moving average operation according to Eq. (23) but where the set of inputs {x_(k)}, the set of outputs {y_(k)}, and the sequence of taps {ε_(k)} are respectively the set of formatted wavelet coefficients {{tilde over (d)}_(m,k) _(m+1) }, the set of intermediate coefficients {{tilde over (z)}_(m,k) _(m+1) }, and the sequence of reconstruction coefficients {p_(k) _(m+1) *}.

Finally, the sequence of decomposition coefficients {q_(n)} is given by:

 q _(n)=0,

for N≦−5 and n≧7

q ⁻⁴ =q ₆=1/(5040{square root over (2)})

q ⁻³ =q ₅=−124/(5040{square root over (2)})

q ⁻² =q ₄=1677/(5040{square root over (2)})

q ⁻¹ =q ₃=−7904/(5040{square root over (2)})

q ₀ =q ₂=18482/(5040{square root over (2)})

q ₁=−24264/(5040{square root over (2)})  (29)

The filter 132 of FIG. 7 performs a moving average operation according to Eq. (23) where the set of inputs {x_(k)}, the set of outputs {y_(k)}, and the sequence of taps {ε_(k)} are respectively the set of dual wavelet coefficients {{tilde over (d)}_(m,k) _(m) }, the set of intermediate coefficients {{tilde over (d)}_(m−1,k) _(m) }, and the sequence of decomposition coefficients {q_(k) _(m) }. Similarly, the filter 249 of FIG. 15 also performs a moving average operation according to Eq. (23) but with the sequence of reconstruction coefficients {q_(n)*} obtained from Eq. (29) using Eq. (17). In this case, the set of inputs {x_(k)}, the set of outputs {y_(k)}, and the sequence of taps {ε_(k)} are respectively the set of standard scaling function coefficients {c_(m,k) _(m+1) }, the set of intermediate coefficients {{tilde over (y)}_(m,k) _(m+1) }, and the sequence of reconstruction coefficients {q_(k) _(m+1) }.

First Alternative Embodiment for Pre-Decomposition Filter

Turning now to FIG. 23, there is shown an alternative embodiment for the pre-decomposition filter 142 of FIG. 6. In this case, the pre-decomposition filter 142 has the transfer function Ω(z)+Λ(z) which is equivalent to the transfer function φ(z)⁻¹α(z) for the embodiment in FIG. 6.

In the embodiment of FIG. 23, the pre-decomposition filter 142 includes a mapping filter stage 260 and an mapping filter stage 262 that operate in parallel to each other on the set of original data samples f_(M). The mapping filter stages 260 and 262 are respectively FIR and IIR filters. The transfer function Ω(z) of the mapping filter stage 260 is an all-zeros polynomial (i.e., it has no poles) with a sequence of mapping coefficients {Ω_(n)} as its coefficients. The transfer function Λ(z) of the mapping filter stage 262 is an all-poles rational function (i.e., it has no zeros) that has a sequence of mapping coefficients {Λ_(n)} as its poles. The sequences of mapping coefficients {Ω_(n)} and {Λ_(n)} are obtained in the manner described shortly.

The mapping filters stages 260 and 262 respectively perform the transfer functions Ω(z) and Λ(z) by respectively applying the sequences of mapping coefficients {Ω_(n)} and {Λ_(n)} to the set of original data samples f_(M)={f_(M,n)} to respectively generate 1-D sets of intermediate coefficients {I_(M,k) _(M) } and {o_(M,k) _(M) }. The sets of intermediate coefficients {I_(M,k) _(M) } and {o_(M,k) _(M) } are then component-wise summed by a summing stage 264 to obtain the 1-D set of dual scaling function coefficients {tilde over (c)}_(M)={{tilde over (c)}_(M,k) _(M) }.

In the pre-decomposition filter 142 of the embodiment of FIG. 6, the IIR mapping filter stage 102 with transfer function φ(z)⁻¹ and the FIR mapping filter stage 144 with transfer function α(z) are cascaded and used for the same purpose as just described. More specifically, the combined transfer function φ(z)⁻¹α(z) of the mapping filter stages 102 and 142 and the combined transfer function Ω(z)+Λ(z) of the mapping filter stages 260 and 262 and the summer 264 are equal and have the same effect. This effect includes obtaining the set of standard scaling function coefficients {c_(M,k) _(M) } by ensuring that the function f_(M)(x) goes through the set of original data samples {f_(M,n)}. Furthermore, this effect includes mapping the set of standard scaling function coefficients {c_(M,k) _(M) } to the set of dual scaling function coefficients {{tilde over (c)}_(M,k) _(M) } so that a change of bases is made with the standard scaling functions {φ_(m,k) _(m) (x)} and s.o. standard wavelets {ψ_(m,k) _(m) (x)} being used as the basic scaling functions and wavelets instead of the dual scaling functions and wavelets {{tilde over (φ)}_(m,k) _(m) (x)} and {{tilde over (ψ)}_(m,k) _(m) (x)}.

However, by using the transfer functions Λ(z) and Ω(z) rather than the transfer functions φ(z)⁻¹ and α(z), the complexity of the pre-decomposition filter 142 is much less. Specifically, the transfer function Λ(z) has only poles and is of the same degree and proportional to the transfer function φ(z)⁻¹. The transfer function Ω(z) has only zeros and has a degree less than the degree of the transfer function α(z). Thus, the pre-decomposition filter 142 of the embodiment of FIG. 23 is easier to implement and more efficient than that of the embodiment of FIG. 6.

For example, since the combined transfer function Ω(z)+Λ(z) is equal to the combined transfer function φ(z)⁻¹α(z), the sequences of coefficients {Ω_(n)} and {Λ_(n)} may be obtained using the sequences of mapping coefficients {⊖_(n)} and {α_(n)}. Thus, for the specific implementation of the wavelet transform system 230 and the inverse wavelets transform system 240 discussed earlier, the sequences of mapping coefficients {⊖_(n)} and {α_(n)} given by Eqs. (23) and (25) are used to obtain the sequences of coefficients {Ω_(n)} and {Λ_(n)} such that:

 Ω_(n)=0,

for n≦−3 and n≧3

Ω⁻²=Ω₂={fraction (1/840)}

Ω⁻¹=Ω₁={fraction (116/840)}

Ω₀={fraction (726/840)}

Λ_(n)=0,

for n≦−2 and n≧2

Λ₀=−(8+7{square root over (3)})/6

Λ⁻¹=Λ₁=−2+{square root over (3)}  (30)

In this case, the complete transfer function Ω(z)+Λ(z) is the simple sum of a polynomial with five coefficients in the numerator and no poles and a rational function with 3 poles in the denominator and no zeros. However, with the sequences of mapping coefficients {⊖_(n)} and {α_(n)} given by Eqs. (23) and (25), the complete transfer function φ(z)⁻¹α(z) of the pre-decomposition filter 142 of the embodiment of FIG. 6 is a much more complex rational function with seven coefficients in the numerator and three poles in the denominator.

Finally, the transfer function Ω(z) is performed by the mapping filter stage 260 with a moving average operation according to Eq. (23) where the set of inputs {x_(k)}, the set of outputs {y_(k)}, and the sequence of taps {ε_(k)} are respectively the set of original data samples {f_(M,k) _(M) }, the set of intermediate coefficients {I_(M,k) _(M) }, and the sequence of mapping coefficients {Ω_(k) _(M) }. Similarly, the transfer function Λ(z) is performed by the mapping filter stage 260 with a recursive two stage feedback differencing operation according to Eq. (25) where the set of inputs {x_(k)}, the set of outputs {z_(k)}, and the sequence of taps {μ_(k)} are respectively the set of original data samples {f_(M,k) _(M) } the set of intermediate coefficients {o_(M,k) _(M) }, and the sequence of mapping coefficients {Λ_(k) _(M) }.

Second Alternative Embodiment for Pre-Decomposition Filter

FIG. 24 shows another embodiment of the pre-decomposition filter 142. In this embodiment, the pre-decomposition filter 142 is an FIR filter and has the transfer function λφ(z) for mapping the set of original data samples f_(M)={f_(M,n)} into the set of dual scaling function coefficients {tilde over (c)}_(M)={{tilde over (c)}_(M,k) _(M) }. In doing so, the transfer function λφ(z) provides an orthogonal projection of the function f(x) to the function f_(M)(x) and a change of bases. As indicated earlier, this change of bases results in the standard scaling functions {φ_(m,k) _(m) (x)} and the s.o. standard wavelets {ψ_(m,k) _(m) (x)} being used as the basic scaling functions and wavelets rather than the dual scaling functions and wavelets {{tilde over (φ)}_(m,k) _(m) (x)} and {{tilde over (ψ)}_(m,k) _(m) (x)}.

More specifically, the orthogonal projection of the function f(x) to a function f_(m)(x) that approximates the function f(x) at the resolution level m is defined as: $\begin{matrix} {{\int_{- \infty}^{\infty}{{f(x)}{\varphi_{m,k_{m}}(x)}\quad {x}}} = {\int_{- \infty}^{\infty}{{f_{m}(x)}{\varphi_{m,k_{m}}(x)}\quad {x}}}} & (31) \end{matrix}$

Using the strategy of optimal polynomial exactness, Eq. (31) can be re-written as follows: $\begin{matrix} {{\int_{- \infty}^{\infty}{{f(x)}{\varphi_{m,k_{m}}(x)}\quad {x}}} = {\sum\limits_{n}\quad {\lambda_{n}\varphi_{n}f_{m,{k_{m} - n}}}}} & (32) \end{matrix}$

Here, the 1-D sequence of weighting coefficients {λ_(n)} is selected for the highest degree that the function f(x) can have for which Eq. (32) will be exact.

As alluded to earlier, when the standard scaling functions {φ_(m,k) _(m) (x)} are used as the basic scaling functions in the 1-D IWT, the set of standard scaling function coefficients {c_(m,k) _(m) } is switched with the set of dual scaling function coefficients {{tilde over (c)}_(m,k) _(m) } and the dual scaling functions {{tilde over (φ)}_(m,k) _(m) (x)} are switched with the standard scaling functions {φ_(m,k) _(m) (x)} in Eq. (6). Thus, in view of Eqs. (6) and (32) for this case, each dual scaling function coefficient {tilde over (c)}_(m,k) _(m) is given by: $\begin{matrix} {{\overset{\sim}{c}}_{m,k_{m}} = {\sum\limits_{n}\quad {\lambda_{n}\varphi_{n}f_{m,{k_{m} - n}}}}} & (33) \end{matrix}$

Thus, for m=M, the set of dual scaling function coefficients {tilde over (c)}_(M)={{tilde over (c)}_(M,k) _(M) } can be obtained according to Eq. (33).

In order to do so, the z-transform of Eq. (33), for m=M, is taken so that the pre-decomposition filter 142 has the transfer function λφ(z). Here, the transfer function λφ(z) is a polynomial that has the sequence of mapping coefficients {λ_(n)φ_(n)} as its coefficients. Thus, the pre-decomposition filter 142 performs the transfer function λφ(z) by applying the sequence of mapping coefficients {λ_(n)φ_(n)} to the set of original data samples f_(M)={f_(M,n)} to generate the set of dual scaling function coefficients {tilde over (c)}_(M)={{tilde over (c)}_(M,k) _(M) }.

Furthermore, in the specific implementation of the wavelet transform system 230 and inverse wavelet transform system 240 discussed earlier, the scaling function φ_(0,0)(x) is a cubic spline and the sequence of mapping coefficients {φ_(n)} are given by Eq. (22). In this case, the sequence of weighting coefficients {λ_(n)} is given by:

λ_(n)=0,

for n≦−2 and n≧2

λ⁻¹=λ₀=λ₁=1  (34)

and is selected so that Eq. (32) is exact for when the function f(x) has a degree that is not greater than four. Here, the pre-decomposition filter 142 performs a moving average operation according to Eq. (23) where the set of inputs {x_(k)}, the set of outputs {y_(k)}, and the sequence of taps {ε_(k)} are respectively the set of original data samples {f_(M,k) _(M) }, the set of dual scaling function coefficients {{tilde over (c)}_(M,k) _(M) }, and the sequence of mapping coefficients {λ_(k) _(M) φ_(k) _(M) }.

Alternative Embodiment for Post-Reconstruction Filter

FIG. 25 shows another embodiment of the post-reconstruction filter 248. In this embodiment, the post-reconstruction filter 248 is an IIR filter and has the transfer function λφ(z)⁻¹. The transfer function λφ(z)⁻¹ is the inverse of the transfer function λφ(z) of the pre-decomposition filter 142 in the embodiment of FIG. 24. Thus, the post-reconstruction filter 248 is used in the inverse wavelet transform system 240 when the pre-decomposition filter 142 of the embodiment of FIG. 24 is used in the wavelet transform system 230.

Here, the transfer function λφ(z)⁻¹ is used to map the set of dual scaling function coefficients {tilde over (c)}_(M)={{tilde over (c)}_(M,k) _(M) } into the set of original data samples f_(M)={f_(M,n)}. The transfer function λφ(z)⁻¹ is a rational function that has a sequence of mapping coefficients {ω_(n)} as its poles. Thus, the post-reconstruction filter 248 performs the transfer function λφ(z)⁻¹ by applying the sequence of mapping coefficients {ω_(n)} to the set of original dual scaling function coefficients {tilde over (c)}_(M)={{tilde over (c)}_(M,k) _(M) } to generate the set of original data samples f_(M)={f_(M,n)}.

Additionally, in the specific implementation of the wavelet transform system 230 and inverse wavelet transform system 240 discussed earlier where the sequences of mapping and weighting coefficients {φ_(n)} and {λ_(n)}are given in Eqs. (21) and (33), the sequence of mapping coefficients {ω_(n)} is the same as the sequence of mapping coefficients {⊖_(n)} given in Eq. (24). Thus, the post-reconstruction filter 248 performs a recursive two-stage feedback differencing operation according to Eq. (25) where the set of inputs {x_(k)}, the set of outputs {z_(k)}, and the sequence of taps {μ_(k)} are respectively the set of dual scaling function coefficients {{tilde over (c)}_(M,k) _(M) }, the set of original data samples {f_(M,k) _(M) }, and the sequence of mapping coefficients {ω_(k) _(M) }.

Alternative Embodiment for Decomposition Filter Substage

Turning now to FIG. 26, there is shown another embodiment for the decomposition filter substage 148 for each resolution level m in the wavelet transform system 230. Like the embodiment of the decomposition filter substage 148 of FIG. 7, the decomposition filter substage 148 in this embodiment has the transfer functions P(z) and Q(z) for decomposing the set of dual scaling function coefficients {tilde over (c)}_(m) at the higher resolution level m into the sets of dual scaling function and wavelet coefficients {tilde over (c)}_(m−1) and {tilde over (d)}_(m−1) at the next lower resolution level m−1. However, as will be described next, these transfer functions P(z) and Q(z) are implemented in a different and novel manner.

Specifically, the decomposition filter substage 148 has a deinterleaver 280. The deinterleaver 280 deinterleaves the 1-D set of dual scaling function coefficients {tilde over (c)}_(m)={{tilde over (c)}_(m,k) _(m) } into a 1-D subset of dual scaling function coefficients {{tilde over (c)}m,2k _(m−1) } with even indexes k_(m)=2k_(m−1) and a 1-D subset of dual scaling function coefficients {{tilde over (c)}_(m,2k) _(m−1) ₊₁} with odd indexes k_(m)=2k_(m−1)+1. The deinterleaver may be a demultiplexer or hardwired connections.

The decomposition filter substage 148 also has FIR filters 282 and 284 that respectively have the transfer functions P_(e)(z) and P_(o)(z). The transfer functions P_(e)(z) and P_(o)(z) are polynomials that respectively have the subsequences of decomposition coefficients {p₂₁} and {p_(2i+1)} as coefficients. Here, the subsequences of decomposition coefficients {p_(2i)} and {p_(2i+1)} are subsequences of the sequence of decomposition coefficients {p_(n)} that respectively have even indexes n=2i and odd indexes n=2i+1. Thus, the transfer functions P_(e)(z) and P_(o)(z) are performed by respectively applying the subsequences of decomposition coefficients {p_(2i)} and {p_(2i+1)} to the subsets of dual scaling function coefficients {{tilde over (c)}_(m,2k) _(m−1) } and {{tilde over (c)}_(m,2k) _(m−1) ₊₁} to respectively generate the sets of intermediate coefficients {ŷ_(m−1,2k) _(m−1) } and {{circumflex over (v)}_(m−1,2k) _(m−1) ₊₁}.

Similarly, the decomposition filter substage 148 also includes FIR filter stages 286 and 288 that respectively have the transfer functions Q_(e)(z) and Q_(o)(z). Like the sequence of decomposition coefficients {p_(n)}, the sequence of decomposition coefficients {q_(n)} has subsequences of decomposition coefficients {q_(2i)} and {q_(2i+1)} that respectively have even indexes n=2i and odd indexes n=2i+1. Thus, the transfer functions Q_(e)(z) and Q_(o)(z) are polynomials that respectively have the subsequences of decomposition coefficients {q_(2i)} and {q_(2i+1)} as coefficients. In order to perform the transfer functions Q_(e)(z) and Q_(o)(z), the subsequences of decomposition coefficients {q_(2i)} and {q_(2i+1)} are respectively applied to the subsets of dual scaling function coefficients {{tilde over (c)}_(m,)2k _(m−1) ₊₁} and {{tilde over (c)}_(m,2k) _(m−1) } to respectively generate the sets of intermediate coefficients {ŵ_(m−1,2k) _(m−1) ₊₁} and {{circumflex over (z)}_(m−1,2k) _(m−1) }.

The decomposition filter stage 148 further includes two summers 290. The sets of intermediate coefficients {ŷ_(m−1,2k) _(m−1) } and {{circumflex over (v)}_(m−1,2k) _(m−1) } are then component-wise summed together by one summer 289 to obtain the set of dual scaling function coefficients {tilde over (c)}_(m−1)={{tilde over (c)}_(m−1,k) _(m−1) }. The sets of intermediate coefficients {ŵ_(m−1,2k) _(m−1) ₊₁} and {{circumflex over (z)}_(m−1,2k) _(m−1) } are then component-wise summed together by the other summer 289 to obtain the set of dual wavelet coefficients {tilde over (d)}_(m−1)={{tilde over (d)}_(m−1,k) _(m−1) }.

It should be noted here that, in the embodiment of FIG. 7 of the decomposition filter substage 148, the transfer functions P(z) and Q(z) are performed by operating the entire sequences of decomposition coefficients {p_(n)} and {q_(n)} on the entire set of dual scaling function coefficients {{tilde over (c)}_(m,k) _(m) } to generate the resulting sets of intermediate coefficients {{tilde over (c)}_(m−1,k) _(m) } and {{tilde over (d)}_(m−1,k) _(m) }. Only then are the resulting sets of intermediate coefficients {{tilde over (c)}_(m−1,k) _(m) } and {{tilde over (d)}_(m−1,k) _(m−1) } downsampled to generate the sets of dual scaling function and wavelet coefficients {{tilde over (c)}_(m−1,k) _(m−1) } and {{tilde over (d)}_(m−1,k) _(m) }. This may be done so that those of the intermediate coefficients {{tilde over (c)}_(m−1,k) _(m) } with even indexes {k_(m)} are discarded and those of the intermediate coefficients {{tilde over (c)}_(m−1,k) _(m) } with odd indexes {k_(m)} are the set of dual scaling function coefficients {{tilde over (c)}_(m−1,k) _(m−1) }. And those of the intermediate coefficients {{tilde over (d)}_(m−1,k) _(m) } with odd indexes {k_(m)} would be discarded so that those of the intermediate coefficients {{tilde over (d)}_(m−1,k) _(m) } with even indexes {k_(m)} are the set of dual wavelet coefficients {{tilde over (d)}_(m−1,k) _(m−1) }. As a result, the operation of the even indexed decomposition coefficients {p_(2i)} and the odd indexed decomposition coefficients {q_(2i+1)} on the odd indexed dual scaling function coefficients {{tilde over (c)}_(m,2k) _(m−1) ₊₁} is wasteful and timing consuming. Furthermore, the operation of the odd indexed decomposition coefficients {p_(2i+1)} and the even indexed decomposition coefficients {q_(2i)} on the even indexed dual scaling function coefficients {{tilde over (c)}_(m,2k) _(m−1) } is similarly wasteful and timing consuming.

But, in the embodiment of FIG. 26 of the decomposition filter substage 148, only the subsequence of even indexed decomposition coefficients {p_(2i)} and the subsequence of odd indexed decomposition coefficients {q_(2i+1)} are operated on the subset of even indexed dual scaling function coefficients {{tilde over (c)}_(m,2k) _(m−1) }. Similarly, only the subsequence of odd indexed decomposition coefficients {p_(2i+1)} and the subsequence of even indexed decomposition coefficients {q_(2i)} are operated on the subset of odd indexed dual scaling function coefficients {{tilde over (c)}_(m,2k) _(m−1) ₊₁}. Thus, the embodiment of FIG. 26 of the decomposition filter substage 148 is more efficient than that of the embodiment of FIG. 7.

Additionally, in the specific implementation of the wavelet transform system 230 and inverse wavelet transform system 240 discussed earlier, the sequences of decomposition coefficients {p_(n)} and {q_(n) } are given in Eqs. (27) and (28). Thus, the FIR filters 282, 284, 286, and 288 perform respective moving average operations according to Eq. (23). The filters 282 and 284 have sets of inputs {x_(k)} that are respectively the subsets of dual scaling function coefficients {{tilde over (c)}_(m,2k) _(m−1) } and {{tilde over (c)}_(m,2k) _(m−1) }, sets of outputs {y_(k)} that are respectively the sets of intermediate coefficients {ŷ_(m−1,2k) _(m−1) } and {{circumflex over (v)}_(m−1,2k) _(m−1) ₊₁}, and sequences of taps {ε_(k)} that are respectively the subsequences of decomposition coefficients {p_(2k) _(m−1) } and {p_(2k) _(m−1) ₊₁}. Similarly, for the filters 288 and 286, the sets of inputs {x_(k)} are respectively the subsets of dual scaling function coefficients {{tilde over (c)}_(m,2k) _(m−1) } and {{tilde over (c)}_(m,2k) _(m−1) ₊₁}, the sets of outputs {y_(k)} are respectively the sets of intermediate coefficients {{circumflex over (z)}_(m−1,2k) _(m−1) } and {ŵ_(m−1,2k) _(m−1) ₊₁}, and the sequences of taps {ε_(k)} are respectively the subsequences of decomposition coefficients {q_(2k) _(m−1) ₊₁} and {q_(2k) _(m−1) }.

As those skilled in the art will recognize, the concepts developed for the embodiment of FIG. 26 for the decomposition filter substage 148 are not limited to that just described. They may be applied to any decomposition filter stage that uses two parallel transfer functions to decompose a 1-D set of input coefficients in an L frequency band at a higher resolution level into two 1-D sets of output coefficients in respective H and L frequency bands at a next lower resolution level. For example, these concepts may be applied to the decomposition filter 104 shown in FIG. 2. Thus, in FIG. 26 for this example, the set of dual scaling function coefficients {{tilde over (c)}_(m,k) _(m) } would be replaced by the set of standard scaling function coefficients {c_(m,k) _(m) }, the subsets of even and odd indexed dual scaling function coefficients {{tilde over (c)}_(m,2k) _(m−1) } and {{tilde over (c)}_(m,2k) _(m−1) ₊₁} would be respectively replaced by the subsets of even and odd indexed standard scaling function coefficients {c_(m,2k) _(m−1) } and {c_(m,2k) _(m−1) ₊₁}, the transfer functions P_(e)(z), P_(o)(z), Q_(e)(z), and Q_(o)(z) would be respectively replaced by the transfer functions A_(e)(Z), A_(o)(z), B_(e)(z), and B_(o)(z), and the sets of dual scaling function and wavelet coefficients {{tilde over (c)}_(m−1,k) _(m−1) } and {{tilde over (d)}_(m−1,k) _(m−1) } would be replaced by the sets of standard scaling function and wavelet coefficients {c_(m−1,k) _(m−1) } and {d_(m−1,k) _(m−1) }.

Alternative Embodiment for Reconstruction Filter Stage

Turning now to FIG. 27, there is shown another embodiment for the reconstruction filter substage 246 for each resolution level m in the inverse wavelet transform system 240. As described earlier for the reconstruction filter substage 246 of FIG. 15, the reconstruction filter substage 246 has the transfer functions P*(z) and Q*(z) for reconstructing the sets of formatted wavelet and standard scaling function coefficients {{overscore (d)}_(m,k) _(m) } and {c_(m,k) _(m) } at the lower resolution level m into the set of dual scaling function coefficients {tilde over (c)}_(m+1)={{tilde over (c)}_(m+1,k) _(m+1) } at the next higher resolution level m+1. These transfer functions P*(z) and Q*(z) are implemented in a different and novel manner that is similar to the way in which these transfer functions were implemented in the decomposition filter substage 148 of FIG. 26.

Similar to the decomposition filter substage 148 of FIG. 26, the reconstruction filter substage 246 has FIR filters 281, 283, 285, and 287 and summers 289. The respective transfer functions P_(e)*(z) and P_(o)*(z) of the filters 281 and 283 are performed by respectively applying the subsequences of reconstruction coefficients {p_(2i)*} and {p_(2i+1)} to the set of formatted wavelet coefficients {{overscore (d)}_(m,k) _(m) } to respectively generate the sets of intermediate coefficients {{overscore (y)}_(m+1,k) _(m)} and {{overscore (z)}_(m+1,k) _(m) }. Similarly, the respective transfer functions Q_(e)*(z) and Q_(o)*(z) of the filters 285 and 287 are performed by respectively applying the subsequences of reconstruction coefficients {q_(2i)*} and {q_(2i+1)*} to the set of standard scaling function coefficients {c_(m,k) _(m) } to respectively generate the sets of intermediate coefficients {{overscore (v)}_(m+1,k) _(m) } and {{overscore (w)}_(m+1,k) _(m) }.

The sets of intermediate coefficients {{overscore (y)}_(m+1,k) _(m) } and {{overscore (w)}_(m+1,k) _(m) } are summed by the first summer 289 to generate the set of intermediate coefficients {{overscore (c)}_(m+1,2k) _(m) } with even indexes 2k_(m). Similarly, the sets of intermediate coefficients {{overscore (v)}_(m+1,k) _(m) } and {{overscore (z)}_(m+1,k) _(m) } are summed by the second summer 289 to generate the set of intermediate coefficients {{tilde over (c)}_(m+1,2k) _(m) ₊₁} with odd indexes 2k_(m)+1.

The reconstruction filter substage 248 also includes an interleaver 290. The interleaver 290 interleaves the 1-D set of intermediate coefficients {{tilde over (c)}_(m+1,2k) _(m) } with even indexes k_(m+1)=2k_(m) and the 1-D set of intermediate coefficients {{tilde over (c)}_(m+1,2k) _(m) ₊₁} with odd indexes k_(m+1)=2k_(m+1) into the 1-D set of dual scaling function coefficients {tilde over (c)}_(m+1)={{tilde over (c)}_(m+1,k) _(m+1) }. The interleaver may be a multiplexer or hardwired connections.

However, in the embodiment of FIG. 15 of the reconstruction filter substage 246, the sets of formatted wavelet and standard scaling function coefficients {{overscore (d)}_(m,k) _(m) } and {c_(m,k) _(m) } are respectively upsampled into the sets of intermediate coefficients {{overscore (d)}_(m,k) _(m+1) } and {c_(m,k) _(m+1) }. This may be done so that those of the intermediate coefficients {c_(m,k) _(m+1) } with odd indexes {k_(m+1)} have zero values and those of the intermediate coefficients {c_(m,k) _(m+1) } with even indexes {k_(m+1)} are the set of standard scaling function coefficients {c_(m,k) _(m) }. Similarly, those of the intermediate coefficients {{overscore (d)}_(m,k) _(m+1) } with even indexes {k_(m+1)} would have zero values and those of the intermediate coefficients {{overscore (d)}_(m,k) _(m+1) } with odd indexes {k_(m+1)} would be the set of formatted wavelet coefficients {{overscore (d)}_(m,k) _(m) }. Only then are the transfer functions P*(z) and Q*(z) respectively performed by applying the entire sequences of decomposition coefficients {p_(n)*} and {q_(n)*} to respectively the entire sets of intermediate coefficients {{overscore (d)}_(m,k) _(m+1) } and {c_(m,k) _(m+1) } to respectively generate the sets of intermediate coefficients {{tilde over (z)}_(m+1,k) _(m+1) } and {{tilde over (y)}_(m+1) _(m+1) }. The sets of sets of intermediate coefficients {{tilde over (z)}_(m+1,k) _(m+1) } and {{tilde over (y)}_(m+1,k) _(m+1) } are then component-wise summed together to generate the set of dual scaling function coefficients {{tilde over (c)}_(m+1,k) _(m+1) }. As a result, the operation of the entire sequence of decomposition coefficients {p_(n)*} on the even indexed intermediate coefficients {{overscore (d)}_(m,k) _(m+1) } and the operation of the entire sequence of decomposition coefficients {q_(n)*} on the odd indexed intermediate coefficients {c_(m,k) _(m+1) } is wasted.

But, in the embodiment of FIG. 27 of the reconstruction filter substage 246, the subsequences of even and odd indexed decomposition coefficients {p_(2i)*} and {p_(2i+1)*} are operated only on the set of formatted wavelet coefficients {{overscore (d)}_(m,k) _(n) }. Similarly, the subsequences of even and odd indexed decomposition coefficients {q_(2i)*} and {q_(2i+1)*} are operated only on the set of standard scaling function coefficients {{tilde over (c)}_(m,k) _(m) }. Thus, the embodiment of FIG. 27 of the reconstruction filter substage 246 is more efficient than that of the embodiment of FIG. 15.

For the specific implementation of the wavelet transform system 230 and inverse wavelet transform system 240 discussed earlier, the FIR filters 281, 283, 285, and 287 perform respective moving average operations according to Eq. (23) using the sequences of decomposition coefficients {p_(n)*} and {q_(n)*} given in Eqs. (28) and (29). In this case, the filters 281 and 283 have each the set of formatted wavelet coefficients {{overscore (d)}_(m,k) _(m) } as a set of inputs {x_(k)}, the sets of intermediate coefficients {{overscore (y)}_(m+1,k) _(m) } and {{overscore (z)}_(m+1,k) _(m) } as respective sets of outputs {y_(k)}, and the subsequences of reconstruction coefficients {p_(2k) _(m) *} and {p_(2k) _(m) ₃₀ ₁*} as respective sequences of taps {ε_(k)}. Similarly, the filters 285 and 287 have each the set of standard scaling function coefficients {c_(m,k) _(m) } as a set of inputs {x_(k)}, the sets of intermediate coefficients {{overscore (v)}_(m+1,k) _(m) } and {{overscore (w)}_(m+1,k) _(m) } as respective sets of outputs {y_(k)}, and the subsequences of reconstruction coefficients {q_(2k) _(m) *} and {q_(2K) _(m) ₃₀ ₁*} as respective sequences of taps {ε_(k)}.

As with the embodiment of FIG. 26 for the decomposition filter substage 148, the concepts developed here for the embodiment of FIG. 27 for the reconstruction filter stage 246 are not limited to that just described. They may be applied to any reconstruction filter stage that uses two transfer functions to reconstruct two 1-D sets of input coefficients in respective H and L frequency bands at a lower resolution level into a 1-D set of output coefficients in an L frequency band at a next higher resolution level. For example, these concepts may be applied to the reconstruction filter stage 124 shown in FIG. 4. Thus, in FIG. 27 for this example, the sets of formatted wavelet and standard scaling function coefficients {{overscore (d)}_(m,k) _(m) } and {c_(m,k) _(m) } would be respectively replaced by the sets of standard scaling function and wavelet coefficients {c_(m,k) _(m) } and {d_(m,k) _(m) } and the set of dual scaling function coefficients {{overscore (c)}_(m+1,k) _(m+1) } would be replaced by the set of standard scaling function coefficients {c_(m+1,k) _(m+1) }.

Preparation for Uniform Quantization in 1-D Wavelet Transform

Turning back to FIG. 13, for the 1-D IWT implemented by the wavelet transform system 230, the decomposition filter 234 also maps the sets of dual scaling function and wavelet coefficients {tilde over (c)}_(N) and {tilde over (d)}_(M−1) to {tilde over (d)}_(N) respectively into the sets of pre-quantized scaling function and wavelet coefficients ĉ_(N) and {circumflex over (d)}_(M−1) to {circumflex over (d)}_(N). This is done so that the sets of pre-quantized scaling function and wavelet coefficients ĉ_(N) and {circumflex over (d)}_(M−1) to {circumflex over (d)}_(N) are prepared for uniform quantization by the quantization system 224.

In order to do so, each decomposition filter stage 238 and 236 of the decomposition filter 234 includes a pre-quantization filter substage 292. Thus, there is a corresponding pre-quantization filter substage 292 for each resolution level m=M to N+1 at which a decomposition is made. The pre-quantization filter substage 292 for each resolution level m has the transfer function G(z) for mapping the set of dual wavelet coefficients {tilde over (d)}_(m−1) that was generated from the decomposition at the resolution level m into the set of pre-quantized wavelet coefficients {circumflex over (d)}_(m−1). Furthermore, the decomposition filter stage 236 includes a second pre-quantization filter substage 294. This pre-quantization filter substage 294 has the transfer function R(z)⁻¹ for mapping the set of dual scaling function coefficients ĉ_(N) that was generated from the decomposition at the resolution level N+1 into the set of pre-quantized scaling function coefficients ĉ_(N).

The transfer function G(z) is a polynomial that has a sequence of mapping coefficients {g_(n)} as its coefficients. Thus, the pre-quantization filter substage 292 for each resolution level m=M to N+1 at which a decomposition is made is an FIR filter. This pre-quantization filter substage 292 performs the transfer function G(z) by applying the sequence of mapping coefficients {g_(n)} to the set of dual wavelet coefficients {tilde over (d)}_(m−1) to generate the set of pre-quantized wavelet coefficients {circumflex over (d)}_(m−1). In the specific implementation of the wavelet transform system 230 and the inverse wavelet transform system 240 discussed earlier, the set of mapping coefficients {g_(n)} is given by:

g _(n)=0,

for n≦−3 and n≧3

g ⁻² =g ₂=0.030933

g ⁻¹ =g ₁=0.0488054

g ₀=0.6874  (35)

Thus, the pre-quantization filter substage 292 for each resolution level m performs a moving average according to Eq. (23) where the set of inputs {x_(k)}, the set of outputs {y_(k)}, and the sequence of taps {ε_(k)} are respectively the set of dual wavelet coefficients {tilde over (d)}_(m−1)={{tilde over (d)}_(m−1,k) _(m−1) }, the set of pre-quantized wavelet coefficients {circumflex over (d)}_(m−1)={{circumflex over (d)}_(m−1,k) _(m−1) }, and the sequence of mapping coefficients {g_(k) _(m−1) }.

However, the transfer function R(z)⁻¹ is a rational function that has a sequence of mapping coefficients {e_(n)} as its poles. Thus, the pre-quantization filter substage 294 for the last resolution level N+1 at which a reconstruction is made is an IIR filter. The pre-quantization filter substage 294 performs the transfer function R(z)⁻¹ by applying the sequence of mapping coefficients {e_(n)} to the set of dual scaling function coefficients {tilde over (c)}_(N) to generate the set of pre-quantized wavelet coefficients ĉ_(N). In the specific implementation of the wavelet transform system 230 and the inverse wavelet transform system 240 discussed earlier, the set of mapping coefficients {e_(n)} is given by:

e _(n)=0,

for n≦−3 and n≧3

e ⁻² =e ₂=0.009486309340

e ⁻¹ =e ₁=0.340509034999

e ₀=0.573751762833  (36)

Thus, the pre-quantization filter substage 294 performs a recursive two stage feedback differencing operation according to Eq. (25) where the set of inputs {x_(k)}, the set of outputs {z_(k)}, and the sequence of taps {μ_(k)} are respectively the set of dual scaling function coefficients {tilde over (c)}_(N)={{tilde over (c)}_(N,k) _(N) }, the set of pre-quantized scaling function coefficients ĉ_(N)={ĉ_(N,k) _(N) }, and the sequence of mapping coefficients {e_(k) _(N) }.

Post Dequantization in 1-D Inverse Wavelet Transform

Turning again to FIG. 14, in the 1-D inverse IWT implemented by the inverse wavelet transform system 240, the dequantization system 232 first performs a uniform dequantization to generate the sets of dequantized scaling function and wavelet coefficients ĉ_(N) and {circumflex over (d)}_(M−1) to {circumflex over (d)}_(N). The reconstruction filter 242 then maps the sets of dequantized scaling function and wavelet coefficients ĉ_(N) and {circumflex over (d)}_(M−1) to {circumflex over (d)}_(N) respectively into the sets of dual scaling function and wavelet coefficients {tilde over (c)}_(N) and {tilde over (d)}_(M−1) to {tilde over (d)}_(N) for reconstruction in the manner described earlier.

In order to do so, the reconstruction filter stage 243 of the reconstruction filter 242 includes a post-dequantization filter substage 298. This post-dequantization filter substage 298 has the transfer function R(z) for mapping the set of dequantized scaling function coefficients ĉ_(N) into the set of dual scaling function coefficients {tilde over (c)}_(N) at the first resolution level m=N at which a reconstruction is made. However, the transfer function R(z) is the inverse of the transfer function R(z)⁻¹ and is a polynomial that has a sequence of mapping coefficients {r_(n)} as its coefficients. Thus, the post-dequantization filter substage 298 is an FIR filter that performs the transfer function R(z) by applying the sequence of mapping coefficients {r_(n)} to the set of dequantized wavelet coefficients ĉ_(N) to generate the set of dual scaling function coefficients {tilde over (c)}_(N).

In the specific implementation of the wavelet transform system 230 and the inverse wavelet transform system 240 discussed earlier, the set of mapping coefficients {r_(n)} is given by:

r _(n)=0,

for nn≦−3 and n≧3

r ⁻² =r ₂=0.005442786707

r ⁻¹ =r ₁=0.197220977140

r ₀=0.640327847858  (37)

Here, the post-dequantization filter substage 298 performs a moving average according to Eq. (23) where the set of inputs {x_(k)}, the set of outputs {y_(k)}, and the sequence of taps {ε_(k)} are respectively the set of dequantized scaling function coefficients ĉ_(N)={ĉ_(N,k) _(N) }, the set of dual scaling function coefficients {tilde over (c)}_(N)={{tilde over (c)}_(N,k) _(N) }, and the sequence of mapping coefficients {e_(k) _(N) }.

Furthermore, each reconstruction filter stage 243 and 244 of the reconstruction filter 242 includes a post-dequantization filter substage 296. Thus, for each resolution level m=N to M−1 at which a reconstruction is made, there is a corresponding post-dequantization filter substage 296. The post-dequantization filter substage 296 for each resolution level m is an IIR filter that has the transfer function G(z)⁻¹ for mapping the set of dequantized wavelet coefficients {circumflex over (d)}_(m) into the set of dual wavelet coefficients {tilde over (d)}_(m). This is done by applying a sequence of mapping coefficients {h_(n)} to the set of dequantized wavelet coefficients {circumflex over (d)}_(m) to generate the set of dual wavelet coefficients {tilde over (d)}_(m). The transfer function G(z)⁻¹ is the inverse of the transfer function G(z) and is a rational function that has the sequence of mapping coefficients {h_(n)} as its poles.

In the specific implementation of the wavelet transform system 230 and the inverse wavelet transform system 240 discussed earlier, the set of mapping coefficients {h_(n)} is given by:

h _(n)=0,

for n≦−3 and n≧3

h ⁻² h ₂0.045392766814

h ⁻¹ =h ₁=0.0.06837990082

h ₀=0.682806105800  (38)

The post-dequantization filter substage 296 for each resolution level m therefore performs a recursive two stage feedback differencing operation according to Eq. (25) where the set of inputs {x_(k)}, the set of outputs {z_(k)}, and the sequence of taps {μ_(k)} are respectively the set of dequantized wavelet coefficients {circumflex over (d)}_(m)={{circumflex over (d)}_(m,k-di m)}, the set of dual wavelet coefficients {tilde over (d)}_(m)={{tilde over (d)}_(m,k) _(m) }, and the sequence of mapping coefficients {h_(k) _(m) }.

Preparation for Uniform Quantization in 2-D Wavelet Transform

Turning back to FIG. 17, for the 2-D IWT implemented by the wavelet transform system 230, the sets of pre-quantized scaling function and wavelet coefficients ĉ_(N), {circumflex over (d)}_(M−1) ¹ to {circumflex over (d)}_(N) ¹, {circumflex over (d)}_(M−1) ² to {circumflex over (d)}_(N) ², and {circumflex over (d)}_(M−1) ³ to {circumflex over (d)}_(N) ³ are generated in preparation for uniform quantization by the quantization system 224. This is done by the decomposition filter 272 which maps the sets of dual scaling function and wavelet coefficients {tilde over (c)}_(N), {tilde over (d)}_(M−1) ¹ to {tilde over (d)}_(N) ¹, {tilde over (d)}_(M−1) ² to {tilde over (d)}_(N) ², and {tilde over (d)}_(M−1) ³ to {tilde over (d)}_(N) ³ respectively into the sets of pre-quantized scaling function and wavelet coefficients ĉ_(N), {circumflex over (d)}_(M−1) ¹ to {circumflex over (d)}_(N) ¹, {circumflex over (d)}_(M−1) ² to {circumflex over (d)}_(N) ², and {circumflex over (d)}_(M−1) ³ to {circumflex over (d)}_(N) ³.

In order to do so, each decomposition filter stage 273 and 275 of the decomposition filter 272 includes three pre-quantization filter substages 300, 302, and 304. Thus, there are three corresponding pre-quantization filter substages 300, 302, and 304 for each resolution level m=M to N+1 at which a decomposition is made.

The pre-quantization filter substage 300 for each resolution level m has the transfer function R(z₁)⁻¹G(z₂) for mapping the set of dual wavelet coefficients {tilde over (d)}_(m−1) ¹ that was generated from the decomposition at the resolution level m into the set of pre-quantized wavelet coefficients {circumflex over (d)}_(m−1) ¹. Referring to FIG. 28, in order to do so, the pre-quantization filter substage 300 includes the same filter substages 294 and 292 as that described earlier. Here, the filter substage 294 has the transfer function R(z₁)⁻¹ for mapping in the horizontal direction each row j_(m−1) of the 2-D set of dual wavelet coefficients {tilde over (d)}_(m−1) ¹={{tilde over (d)}_(m−1,k) _(m−1) _(,j) _(m−1) } into a corresponding row j_(m−1) of a 2-D set of intermediate coefficients {tilde over (y)}_(m−1) ¹={{tilde over (y)}_(m−1,k) _(m−1) _(,j) _(m−1) }. The filter substage 292 then maps each column k_(m−1) of the 2-D set of intermediate coefficients {tilde over (y)}_(m−1) ¹={{tilde over (y)}_(m−1,k) _(m−1) _(, j) _(m−1) } into a corresponding column k_(m−1) of the 2-D set of pre-quantized wavelet coefficients {circumflex over (d)}_(m−1) ¹={{circumflex over (d)}_(m−1,k) _(m−1) _(,j) _(m−1) ¹} in the vertical direction with the transfer function G(z₂).

The pre-quantization filter substage 302 for each resolution level m maps the set of dual wavelet coefficients {tilde over (d)}_(m−1) ¹ that was generated from the decomposition at the resolution level m into the set of pre-quantized wavelet coefficients {tilde over (d)}_(m−1) ² using the transfer function G(z₁)R(z₂)³¹ ¹. Turning again to FIG. 28, like the pre-quantization filter substage 300, the pre-quantization filter substage 302 includes the same filter substages 292 and 294 as that described earlier. However, in this case, the filter substage 292 has the transfer function G(z₁) for mapping in the horizontal direction each row j_(m−1) of the 2-D set of dual wavelet coefficients {tilde over (d)}_(m−1) ²={{tilde over (d)}_(m−1,k) _(m−1) _(,j) _(m−1) ²} into a corresponding row j_(m−1) of a 2-D set of intermediate coefficients {tilde over (y)}_(m−1) ²={{tilde over (y)}_(m−1,k) _(m−1) _(,j) _(m−1) ²}. The filter substage 294 then maps each column k_(m−1) of the 2-D set of intermediate coefficients {tilde over (y)}_(m−1) ²={{tilde over (y)}_(m−1,k) _(m−1) _(,j) _(m−1) ¹} into a corresponding column k_(m−1) of the 2-D set of pre-quantized wavelet coefficients {circumflex over (d)}_(m−1) ²={{circumflex over (d)}_(m−1,k) _(m−1) _(,j) _(m−1) ²} in the vertical direction with the transfer function R(z₂)³¹ ¹.

Similarly, the pre-quantization filter substage 304 for each resolution level m has the transfer function G(z₁)G(z₂) for mapping the set of dual wavelet coefficients {tilde over (d)}_(m−1) ³ that was generated from the decomposition at the resolution level m into the set of pre-quantized wavelet coefficients {circumflex over (d)}_(m−1) ³. Turning again to FIG. 28, in this case, the pre-quantization filter substage 304 includes two of the filter substages 292 that were described earlier. The first filter substage 292 has the transfer function G(z₁) for mapping in the horizontal direction each row j_(m−1) of the 2-D set of dual wavelet coefficients {tilde over (d)}_(m−1) ³={{tilde over (d)}_(m−1,k) _(m−1) _(,j) _(m−1) ³} into a corresponding row j_(m−1) of a 2-D set of intermediate coefficients {tilde over (y)}_(m−1) ³={{tilde over (y)}_(m−1,k) _(m−1) _(,j) _(m−1) ³}. The second filter substage 292 then maps each column k_(m−1) of the 2-D set of intermediate coefficients {tilde over (y)}_(m−1) ³={{tilde over (y)}_(m−1,k) _(m−1) _(,j) _(m−1) ³} into a corresponding column k_(m−1) of the 2-D set of pre-quantized wavelet coefficients {circumflex over (d)}_(m−1) ³={{circumflex over (d)}_(m−1,k) _(m−1) _(,j) _(m−1) ³} in the vertical direction with the transfer function G(z₂).

Finally, the decomposition filter stage 273 includes a pre-quantization filter substage 306 for the last resolution level m=N+1 at which a decomposition is made. The pre-quantization filter substage 306 maps the 2-D set of dual scaling function coefficients {tilde over (c)}_(N) generated by the decomposition at the resolution level m=N+1 into the 2-D set of pre-quantized scaling function coefficients ĉ_(N). In doing so, each dual scaling function coefficient {tilde over (c)}_(N,k) _(N) _(,j) _(N) in the 2-D set of dual scaling function coefficients {tilde over (c)}_(N)={{tilde over (c)}_(N,k) _(N) _(,j) _(N) } is multiplied by a constant K to generate a corresponding pre-quantized scaling function coefficient ĉ_(N)={ĉ_(N,k) _(N) _(,j) _(N) } in the 2-D set of pre-quantized scaling function coefficients ĉ_(N)={ĉ_(N,k) _(N) _(,j) _(N) }. In the specific implementation of the wavelet transform system 230 and the inverse wavelet transform system 240 discussed earlier, this constant K is equal to 4.965.

Post Dequantization in 2-D Inverse Wavelet Transform

Turning once more to FIG. 20, in the 2-D inverse IWT implemented by the inverse wavelet transform system 240, the sets of dequantized scaling function and wavelet coefficients ĉ_(N), {circumflex over (d)}_(M−1) ¹ to {circumflex over (d)}_(N) ¹, {circumflex over (d)}_(M−1) ² to {circumflex over (d)}_(N) ², and {circumflex over (d)}_(M−1) ³ to {circumflex over (d)}_(N) ³ are generated by the dequantization system 232 during uniform dequantization. The reconstruction filter 250 then maps the sets of dequantized scaling function and wavelet coefficients ĉ_(N), {circumflex over (d)}_(M−1) ¹ to {circumflex over (d)}_(N) ¹, {circumflex over (d)}_(M−1) ² to {circumflex over (d)}_(N) ², and {circumflex over (d)}_(M−1) ³ to {circumflex over (d)}_(N) ³ respectively into the sets of dual scaling function and wavelet coefficients {tilde over (c)}_(N), {tilde over (d)}_(M−1) ¹ to {tilde over (d)}_(N) ¹, {tilde over (d)}_(M−1) ² to {tilde over (d)}_(N) ², and {tilde over (d)}_(M−1) ³ to {tilde over (d)}_(N) ³ for reconstruction in the manner described earlier.

To do so, the reconstruction filter stage 253 includes a post-dequantization filter substage 308 for the first resolution level m=N at which a reconstruction is made. The post-dequantization filter substage 308 maps the set of dequantized scaling function coefficients ĉ_(N) into the set of dual scaling function coefficients {tilde over (c)}_(N). This is done by multiplying each dequantized scaling function coefficient ĉ_(N,k) _(N) _(,j) _(N) set of dequantized scaling function coefficients ĉ_(N)={ĉ_(N,k) _(N) _(,j) _(N) } by a constant 1/K in order to generate a corresponding dual scaling function coefficient {tilde over (c)}_(N,k) _(N) _(,j) _(N) in the set of dual scaling function coefficients {tilde over (c)}_(N)={{tilde over (c)}_(N,k) _(N) _(,j) _(N) }. In the specific implementation of the wavelet transform system 230 and the inverse wavelet transform system 240 discussed earlier, this constant is the inverse of the constant K given earlier and is equal to {fraction (1/4.965)}.

Furthermore, each reconstruction filter stage 252 and 253 of the reconstruction filter 250 includes three post-dequantization filter substages 310, 312, and 314. Thus, there are three corresponding post-dequantization filter substages 310, 312, and 314 for each resolution level m=N to M−1 at which a reconstruction is made.

The post-dequantization filter substage 310 for each resolution level m has the transfer function R(z₁)G(z₂)⁻¹ for mapping the set of dequantized wavelet coefficients {circumflex over (d)}_(m) ¹ into the set of dual wavelet coefficients {tilde over (d)}_(m) ¹. Referring to FIG. 29, in order to do so, the pre-quantization filter substage 310 includes the same filter substages 296 and 298 as that described earlier. The filter substage 296 maps each column k_(m) of the 2-D set of dequantized wavelet coefficients {circumflex over (d)}_(m) ¹={{circumflex over (d)}_(m,k) _(m) _(,j) _(m) ¹} into a corresponding column k_(m) of the 2-D set of intermediate coefficients {tilde over (y)}_(m) ¹={{tilde over (y)}_(m,k) _(m) _(,j) _(m) ¹} in the vertical direction with the transfer function G(z₂)⁻¹. Then, the filter substage 298 uses the transfer function R(z₁) to map in the horizontal direction each row j_(m) of the 2-D set of intermediate coefficients {tilde over (y)}_(m) ¹={{tilde over (y)}_(m,k) _(m) ¹ _(j) _(m) } into a corresponding row j_(m) of the 2-D set of dual wavelet coefficients {tilde over (d)}_(m) ¹={{tilde over (d)}_(m,k) _(m) _(,j) _(m) ¹}.

The post-dequantization filter substage 312 for each resolution level m maps the set of pre-quantized wavelet coefficients {circumflex over (d)}_(m) ² into the set of dual wavelet coefficients {tilde over (d)}_(m) ² using the transfer function G(z₁)⁻¹R(z₂). Turning again to FIG. 29, the post-dequantization filter substage 312 includes the same filter substages 298 and 296 as that described earlier. However, in this case, the filter substage 298 maps each column k_(m) of the 2-D set of dequantized wavelet coefficients {circumflex over (d)}_(m) ²={{circumflex over (d)}_(m,k) _(m) _(,j) _(m) ²} into a corresponding column k_(m) of the 2-D set of intermediate coefficients {tilde over (y)}_(m) ²={{tilde over (y)}_(m,k) _(m) _(,j) _(m) ²} in the vertical direction with the transfer function R(z₂). Furthermore, the filter substage 296 uses the transfer function G(z₁)⁻¹ to map in the horizontal direction each row j_(m) of the 2-D set of intermediate coefficients {tilde over (y)}_(m) ²={{tilde over (y)}_(m,k) _(m) _(,j) _(m) ²} into a corresponding row j_(m) of the 2-D set of dual wavelet coefficients {tilde over (d)}_(m) ²={{tilde over (d)}_(m,k) _(m) _(,j) _(m) ²}.

Finally, the post-dequantization filter substage 314 for each resolution level m has the transfer function G(z₁)⁻¹G(z₂)⁻¹ for mapping the set of pre-quantized wavelet coefficients {circumflex over (d)}_(m) ³={{circumflex over (d)}_(m,k) _(m) _(,j) _(m) ³} into the set of dual wavelet coefficients {tilde over (d)}_(m) ³={{tilde over (d)}_(m,k) _(m) _(,j) _(m) ³}. Turning once more to FIG. 29, the post-dequantization filter substage 314 includes two of the filter substages 296 that were described earlier. The first filter substage 296 maps each column k_(m) of the set of pre-quantized wavelet coefficients {circumflex over (d)}_(m) ³={{circumflex over (d)}_(m,k) _(m) _(,j) _(m) ³} into a corresponding column k_(m) of the set of intermediate coefficients {tilde over (y)}_(m) ³={{tilde over (y)}_(m,k) _(m) _(,j) _(m) ³} into in the vertical direction with the transfer function G(z₂)⁻¹. The second filter substage 296 has the transfer function G(z₁)⁻¹ for mapping in the horizontal direction each row j_(m) of the 2-D set of intermediate coefficients {tilde over (y)}_(m) ³={{tilde over (y)}_(m,k) _(m) _(,j) _(m) ³} into a corresponding row j_(m) of the 2-D set of dual wavelet coefficients {tilde over (d)}_(m) ³={{tilde over (d)}_(m,k) _(m) _(,j) _(m) ³}.

Other Alternative Embodiments

Referring to FIG. 11, the wavelet transform system 230 has been described for use with an encoding system 226 and quantization system 224 for compression of original data. Similarly, the wavelet inverse transform system 240 has been described for use with a decoding system 228 and dequantization system 232 for decompression of encoded data. But, those skilled in the art will recognize that the 1-D and 2-D IWTs and inverse IWTs described herein and performed by the wavelet and inverse wavelet transform systems 230 and 240 may be used for other purposes. In such a case, a digital signal processor (DSP) could be used to post-process and/or pre-process the these 1-D and 2-D IWTs and inverse IWTs.

Moreover, in FIG. 11, the wavelet transform system 230 and the inverse wavelet transform system 240 are shown in a software implementation. However, a hardware implementation of the wavelet transform system 230 and the inverse wavelet transform system 240 would also take advantage of the benefits of the 1-D and 2-D IWTs and inverse IWTs just described.

Finally, while the present invention has been described with reference to a few specific embodiments, the description is illustrative of the invention and is not to be construed as limiting the invention. Various modifications may occur to those skilled in the art without departing from the true spirit and scope of the invention as defined by the appended claims. 

What is claimed is:
 1. A decomposition filter stage for decomposing a set of input coefficients into a first set of output coefficients and a second set of output coefficients by applying a first sequence of decomposition coefficients and a second sequence of decomposition coefficients to the set of input coefficients, the decomposition filter stage comprising: a deinterleaver that deinterleaves the set of input coefficients into a first subset of the set of input coefficients and a second subset of the set of input coefficients; a first filter that applies a first subsequence of the first sequence of coefficients to the first subset of the set of input coefficients to generate a first set of intermediate coefficients; a second filter that applies a first subsequence of the second sequence of coefficients to the second subset of the set of input coefficients to generate a second set of intermediate coefficients; a first summer that sums the first and second sets of intermediate coefficients to generate the first set of output coefficients; a third filter that applies a second subsequence of the first sequence of coefficients to the first subset of the set of input coefficients to generate a third set of intermediate coefficients; a fourth filter that applies a second subsequence of the second sequence of coefficients to the second subset of the set of input coefficients to generate a fourth set of intermediate coefficients; and a second summer that sums the third and fourth sets of intermediate coefficients to generate the second set of output coefficients.
 2. The decomposition filter stage of claim 1 wherein the first, second, third, and fourth filters comprise FIR filters that respectively apply the first subsequence of the first sequence of coefficients, the first subsequence of the second sequence of coefficients, the second subsequence of the first sequence of coefficients, and the second subsequence of the second sequence of coefficients in respective moving average operations.
 3. The decomposition filter stage of claim 2 wherein: the first and second subsets of the set of input coefficients respectively comprises those of the input coefficients in the set of input coefficients with even and odd indexes; the first and second subsequences of the first sequence of coefficients respectively comprises those of the coefficients in the first sequence of coefficients with even and odd indexes; and the first and second subsequences of the second sequence of coefficients respectively comprises those of the coefficients in the second sequence of coefficients with odd and even indexes.
 4. A method of decomposing a set of input coefficients into a first set of output coefficients and a second set of output coefficients by applying a first sequence of decomposition coefficients and a second sequence of decomposition coefficients to the set of input coefficients, the method comprising the steps of: deinterleaving the set of input coefficients into a first subset of the set of input coefficients and a second subset of the set of input coefficients; applying a first subsequence of the first sequence of coefficients to the first subset of the set of input coefficients to generate a first set of intermediate coefficients; applying a first subsequence of the second sequence of coefficients to the second subset of the set of input coefficients to generate a second set of intermediate coefficients; summing the first and second sets of intermediate coefficients to generate the first set of output coefficients; applying a second subsequence of the first sequence of coefficients to the first subset of the set of input coefficients to generate a third set of intermediate coefficients; applying a second subsequence of the second sequence of coefficients to the second subset of the set of input coefficients to generate a fourth set of intermediate coefficients; and summing the third and fourth sets of intermediate coefficients to generate the second set of output coefficients.
 5. The method of claim 4 wherein the first, second, third, and fourth applying steps respectively include applying the first subsequence of the first sequence of coefficients, the first subsequence of the second sequence of coefficients, the second subsequence of the first sequence of coefficients, and the second subsequence of the second sequence of coefficients in respective moving average operations.
 6. The method of claim 5 wherein: the first and second subsets of the set of input coefficients respectively comprises those of the input coefficients in the set of input coefficients with even and odd indexes; the first and second subsequences of the first sequence of coefficients respectively comprises those of the coefficients in the first sequence of coefficients with even and odd indexes; and the first and second subsequences of the second sequence of coefficients respectively comprises those of the coefficients in the second sequence of coefficients with odd and even indexes.
 7. A reconstruction filter stage for reconstructing a first set of input coefficients and a second set of input coefficients into a set of output coefficients by applying a first sequence of coefficients and a second sequence of coefficients to the first and second sets of input coefficients, the reconstruction filter stage comprising: a first filter that applies a first subsequence of the first sequence of coefficients to the first set of input coefficients to generate a first set of intermediate coefficients; a second filter that applies a first subsequence of the second sequence of coefficients to the second set of input coefficients to generate a second set of intermediate coefficients; a first summer that sums the first and second sets of intermediate coefficients to generate a first subset of the set of output coefficients; a third filter that applies a second subsequence of the first sequence of coefficients to the first set of input coefficients to generate a third set of intermediate coefficients; a fourth filter that applies a second subsequence of the second sequence of coefficients to the second set of input coefficients to generate a fourth set of intermediate coefficients; a second summer that sums the third and fourth sets of intermediate coefficients to generate a second subset of the set of output coefficients; and an interleaver that interleaves the first and second subsets of the set of output coefficients to generate the set of output coefficients.
 8. The reconstruction filter stage of claim 7 wherein the first, second, third, and fourth filters comprise FIR filters that respectively apply the first subsequence of the first sequence of coefficients, the first subsequence of the second sequence of coefficients, the second subsequence of the first sequence of coefficients, and the second subsequence of the second sequence of coefficients in respective moving average operations.
 9. The reconstruction filter stage of claim 8 wherein: the first and second subsets of the set of input coefficients respectively comprises those of the input coefficients in the set of input coefficients with even and odd indexes; the first and second subsequences of the first sequence of coefficients respectively comprises those of the coefficients in the first sequence of coefficients with even and odd indexes; and the first and second subsequences of the second sequence of coefficients respectively comprises those of the coefficients in the second sequence of coefficients with odd and even indexes.
 10. A method of reconstructing a first set of input coefficients and a second set of input coefficients into a set of output coefficients by applying a first sequence of coefficients and a second sequence of coefficients to the first and second sets of input coefficients, the method comprising the steps of: applying a first subsequence of the first sequence of coefficients to the first set of input coefficients to generate a first set of intermediate coefficients; applying a first subsequence of the second sequence of coefficients to the second set of input coefficients to generate a second set of intermediate coefficients; summing the first and second sets of intermediate coefficients to generate a first subset of the set of output coefficients; applying a second subsequence of the first sequence of coefficients to the first set of input coefficients to generate a third set of intermediate coefficients; applying a second subsequence of the second sequence of coefficients to the second set of input coefficients to generate a fourth set of intermediate coefficients; summing the third and fourth sets of intermediate coefficients to generate a second subset of the set of output coefficients; and interleaving the first and second subsets of the set of output coefficients to generate the set of output coefficients.
 11. The method of claim 10 wherein the first, second, third, and fourth applying steps respectively include applying the first subsequence of the first sequence of coefficients, the first subsequence of the second sequence of coefficients, the second subsequence of the first sequence of coefficients, and the second subsequence of the second sequence of coefficients in respective moving average operations.
 12. The method of claim 11 wherein: the first and second subsets of the set of input coefficients respectively comprises those of the input coefficients in the set of input coefficients with even and odd indexes; the first and second subsequences of the first sequence of coefficients respectively comprises those of the coefficients in the first sequence of coefficients with even and odd indexes; and the first and second subsequences of the second sequence of coefficients respectively comprises those of the coefficients in the second sequence of coefficients with odd and even indexes. 